0

我正在将包含 jquery v1.2.7 的旧代码库升级到 v1.2.9。相应的 UI 升级是从 v.1.6b 到 v1.9.2(1.10 不适用于 IE6)。有一堆 ui 插件至少有 6 年的历史,而且它们的大多数作者不再积极支持它们。

我采取了分层的方法来执行此操作。我首先升级了所有核心文件(jquery、jqueryUI),然后升级了内部 js 代码(attr、$.browser)等。然后我对一些具有 attr 和 browser 的插件进行了猴子修补。到目前为止,我已经设法解决了所有的错误和错误。我现在有了一个“干净”的构建,许多 ajax 功能也可以正常工作。

但是,我在使用 facebox.js(是的,那个 relic)插件时遇到了一个非常棘手的问题。我在调试器(IE8、FB、Chrome)中没有看到任何错误(js、网络或其他错误),但 facebox 对话框显示不正确。它仍然显示其中的内容,但它是透明的,背景和边缘不显示。我检查了我所有的 css 并使用 w3c 验证器进行了验证。由于 NDA,我无法在此处发布标记。我意识到,如果没有标记,即使这里相当多的专业知识也可能无法提供完整的解决方案。有人可以至少给我一些关于我可以忽略的东西或要寻找的东西的指示吗?TIA

伊斯特伍德

4

1 回答 1

0

正如您所说,如果没有标记,很难弄清楚那里发生了什么,而且我的回答可能真的很愚蠢-但是由于您在调试控制台中没有任何错误并且该框是透明的-图像是否可能是CSS 中缺少/错误引用?

不确定这个旧的 facebook.js 插件是如何工作的,但我前段时间看到一个使用图像来向后兼容 IE6(用于 alpha 透明度/圆形边框) - 但并非总是如此。我认为对于现代浏览器,它自己绘制了这些东西。(很像 Facebook 在其网站上自己做的)

因此,该错误可能与 JavaScript 期望图像/等有关。由 CSS 处理,但 CSS 只使用 IE6-hack?

于 2013-07-27T20:34:38.480 回答