我应该使用哪个JavaScript库进行客户端连字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我应该使用哪个JavaScript库进行客户端连字?相关的知识,希望对你有一定的参考价值。
我想在我的网站上的一些大文本上通过javascript实现客户端连字。 (我知道CSS3连字符,并且会在可用时使用它,但它通常不可用。)
我一直在使用Hyphenator.js,它运行良好,但是非常大(我的优化,编译版本只有英文版本达到106 KB)而且非常慢。它足够大而且速度慢,我正在考虑完全删除连字符。无论如何,这只是一种奢侈品。
但最近我遇到了似乎是另一种选择:Hypher。令我感到困惑的是,Hypher如何让我这么小,做同样的事情。我想知道是否有人可以解释这一点。
Hypher也能正常工作吗?是否有任何理由使用Hyphenator.js? Hypher的自述文件有一个链接到Hyphenator.js at the bottom of the page,但没有一个文本解释了这些项目之间的联系。
有没有人对最有效的客户端连字法有什么看法?
相比之下,Hypher如此小的主要原因是它依赖于外部加载的jQuery来进行页面集成。 Hyphenator.js是完全独立的,因此必须包含更多样板来跨浏览器操作html。 (他们甚至重新实现了一些jQuery功能。)
公平地说,Hyphenator.js是一个相对较旧的项目,在利用浏览器大量改进的过程中还没有完全重写。 (请注意,他们自豪地支持Firefox 3.0。)而且,更为慈善的是,Hyphenator.js还有更多的finely-grained settings。
如果您已经在使用jQuery,并且不使用Hyphenator.js的高级API,那么切换到Hypher可能是值得改进的。
我在JavaScript中看了一下连字符,发现了以下四个库:
- hy-phen:是自2016年以来由Yevhen Tiurin使用MIT许可证开发的纯JavaScript库。您将获得一个JavaScript函数,您可以调用连字符串。您只需要包含主JavaScript文件和所需的语言文件即可使用它。
- Hypher:自2011年以来由Bram Stein使用“Three Clause BSD”许可证开发的纯JavaScript库。您可以使用两种JavaScript方法来调用连字符串。它只能使用Node.js或jQuery安装。
- Hyphenator.js:自2008年以来由Mathias Nater使用MIT许可证开发的JavaScript / HTML实现。该项目自2018年起停止使用。要包含在项目中并不是那么简单 - 首先需要使用Merge&Pack工具来创建一个可以包含的JavaScript文件。它会自动扫描HTML页面并为选定的HTML元素添加连字符。没有JavaScript函数可以调用手动连字符串。
- Hyphenopoly.js:是Hyphenator.js的后续项目,自2016年起由Mathias Nater使用MIT许可证开发。它删除了Hyphenator.js的一些功能,使用起来有点简单。然而它的工作方式相同,这意味着没有可以调用手动连字符串的JavaScript函数。
所有四个库都使用由Franklin M. Liang开发的连字算法,该算法使用匹配模式来查找单词中的连字点。这个算法没有提供梁在他的thesis中所说的100%正确的连字符:
这些模式在口袋字典单词列表中找到89%的连字符,基本上没有错误。
以上是关于我应该使用哪个JavaScript库进行客户端连字?的主要内容,如果未能解决你的问题,请参考以下文章
我在后端使用 PyNacl 进行数字签名。我应该在前端使用哪个库?
我应该使用哪个 Java 库通过 Facebook、Gmail、本地身份验证等进行身份验证?