我正在尝试在 Mozilla 中获取省略号。我发现了一些 jquery 插件,它有助于在 Mozilla 中形成省略号,但是当大量数据出现时,它不能很好地处理页面中的脚本错误。
我认为实际上 jquery 逐字处理每个单词,这需要花费大量时间来执行,这是脚本错误的原因。是否有任何简单的方法可以在 Mozilla 或任何可以处理大数据的 jquery 插件中显示省略号。
我正在尝试在 Mozilla 中获取省略号。我发现了一些 jquery 插件,它有助于在 Mozilla 中形成省略号,但是当大量数据出现时,它不能很好地处理页面中的脚本错误。
我认为实际上 jquery 逐字处理每个单词,这需要花费大量时间来执行,这是脚本错误的原因。是否有任何简单的方法可以在 Mozilla 或任何可以处理大数据的 jquery 插件中显示省略号。
[编辑]请注意:由于我在这里发布了原始答案,所以情况发生了变化。下面详细介绍的 hack 仅适用于 Firefix 版本 3.x。它在 FF4、5 或 6 中不起作用。在这些版本的 Firefox 中没有针对此问题的已知修复程序。
然而,省略号功能将包含在 Firefox 7 中,一两个月后就会发布,所以你现在不用等太久,而且他们现在已经添加到 Firefox 中的自动更新功能,大多数用户应该会在新版本发布后不久迁移到新版本。
有关此主题的更多信息,请参阅此问题:文本溢出:Firefox 4 中的省略号?(和FF5)
我已经在下面的评论中注意到了这个警告,但由于人们仍在支持这个答案,他们可能不会阅读评论,所以我正在编辑答案,将其放在此处的顶部。我将在下面保留原始答案以供参考。它在 FF3.x 中仍然有效,所以总比没有好。
原答案如下:
Firefox 是唯一(目前)不支持 CSS Ellipsis 功能的浏览器。
好消息是,这是一种解决方法。它不是很出名,但它确实工作得很好。
它通过使用一些自定义 XUL 来工作,然后使用自定义-moz-binding
样式声明在样式表中引用该 XUL。(XUL 是 Mozilla 的基于 XML 的用户界面定义语言。整个 Firefox UI 都是用它编写的)
首先,您需要创建一个包含 XUL 定义的文件。它应该如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<bindings xmlns="http://www.mozilla.org/xbl" xmlns:xbl="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="ellipsis">
<content>
<xul:window>
<xul:description crop="end" xbl:inherits="value=xbl:text"><children/></xul:description>
</xul:window>
</content>
</binding>
</bindings>
将此文件保存ellipsis-xbl.xml
在 Web 服务器上的某个位置。
然后转到您的样式表:
.myellipsiselement {
word-wrap:normal;
white-space:nowrap;
overflow:hidden;
-moz-binding:url(ellipsis-xbl.xml#ellipsis);
-o-text-overflow:ellipsis;
text-overflow:ellipsis;
}
显然,将绑定的 URL 更改为您将其保存在站点上的任何位置。
现在,Firefox 支持省略号。耶!
不过,您需要注意一个重要的警告:XUL 与 HTML 的不同之处在于 HTML 会忽略空格,而 XUL 不会。因为绑定意味着您的 HTML 代码在这种情况下被有效地视为 XUL,您会发现如果您在被截断的元素中有任何空白,它将变得可见。
这意味着如果你有这样的 HTML,你会遇到一些奇怪的显示问题:
<div>
some text here that needs an ellipsis
</div>
您需要将开始和结束标签移动到与文本相同的行上,如下所示:
<div>some text here that needs an ellipsis</div>
但是一旦你这样做了,这项技术应该会完美运行——至少在 Firefox 开始支持正常的 CSS 省略号之前......到那时,任何人都可以猜测会发生什么!
我们一直在广泛使用这种技术,但值得称赞的是——我们从这里了解到它:http: //ernstdehaan.blogspot.com/2008/10/ellipsis-in-all-modern-browsers.html