【发布时间】:2012-01-12 18:06:46
【问题描述】:
几乎完全在 FF 3.6 中开发了一个前端。它在 IE9(即使有很多 SVG)、Opera 和 Webkit 中都能完美运行,但在 FF9 中完全崩溃了。我花了一整天的时间调试它,看起来 getBBox 好像在某个地方坏了。可能有两个单独的问题,都与在包含多个文本元素、旋转文本或分布在多行的文本组上获取边界框有关。
其他人看到了吗?我不得不说,我真的,真的,被这件事激怒了。 Bugzilla 中没有任何内容。如果他们没有如此愚蠢的发布周期,我会很想回去尝试旧版本,但只是转储它似乎更容易......
编辑
这就是答案,任何通过这种方式来的人。它基本上与 jQuery UI 选项卡、display:none 和维度计算有关,但问题是 jqueryui.com (here) 的解决方法不完整。
1 - getBBox 问题通常是由于某处的 display:none 引起的,但我的代码中没有明确的 display:none
2 - FireFox 比其他浏览器更容易受到显示/getBBox 问题的影响。奇怪的是,Win7 上的 FF 9.0.1 比 XP 上的 9.0.1 好
3 - 在隐藏选项卡(或隐藏的任何内容)中进行维度计算的标准方法是在屏幕外显示(参见上面的链接),而不是应用 display:none
4 - 如果没有上面链接的解决方法,FF 会抛出异常,Chrome 会得到错误的数字,Opera 不关心,等等
5 - 但上述解决方法(.ui-tabs-hide 中的屏幕外显示)还不够。如果您这样做,但选择选项卡 (tabs('select')) 在 进行尺寸计算,那么 FF 仍然会出错(但它不会引发异常)。 IE9、Opera、Webkit都可以。
6 - 我对 FF 3.6 的看法是错误的 - 3.6/Linux 的行为似乎与 FF 9.0.1/XP 相同
7 - 没有深入研究选项卡代码,一种解决方法是在进行维度计算之前选择选项卡。对我来说没问题,但对大多数人来说可能会破坏练习的意义。
将主题更改为提及标签。
【问题讨论】:
-
如果您给我们一个或多个测试用例,诊断问题会更容易。
-
您可以发布代码链接吗?根据你提供的信息,除了你不高兴之外,真的很难说任何话。
-
上周我花了几个小时将其简化为测试用例,但所有测试用例都有效。我只是在钓鱼,看看有没有其他人看到过类似的东西。 @Boris - 是的,你是对的,心烦意乱 :) 今天早上另一个在 IE9、Opera、WebKit 和 Firefox 9.0.1/Win7 上有效,但在 Firefox 9.0.1/XP 或 Firefox 上无效3.6/Linux。很难知道从哪里开始。
-
我得到了心烦意乱的部分。关键是,如果您想要一个有用的答案,您需要提供某种信息,以便其他人能够诊断问题......
-
我知道这是一个老问题,但这仍然影响着我(没有 jQuery UI 选项卡,虽然我使用的是隐藏/无显示属性)。这是针对 Firefox 提交的一个错误,它反映了我的问题,是的,它仍然存在:bugzilla.mozilla.org/show_bug.cgi?id=612118 -- Firefox 53.0.1
标签: javascript firefox svg jquery-ui-tabs