【问题标题】:jQuery broken in IE7 & IE9 onlyjQuery 仅在 IE7 和 IE9 中损坏
【发布时间】:2011-08-09 02:03:00
【问题描述】:

出于某种原因,在这个非常简单的页面上,jQuery 无法在 IE7 或 IE9 上运行,但它可以在 IE8 和所有其他现代浏览器中运行。任何想法为什么会出现这种情况?

$(document).ready(function() {

$(".thumb").fancybox();

$("a.group").fancybox({
    'transitionIn'  :   'elastic',
    'transitionOut' :   'elastic',
    'speedIn'       :   600, 
    'speedOut'      :   200, 
    'overlayShow'   :   false
});

$('.note').live('click', function() {
    $(this).parents('.result').next('.notes').slideToggle();
});

});

莫名其妙。任何帮助将不胜感激!顺便说一句,如果你想查看整个交易,你可以在http://moveout.dancormier.com看到它 提前致谢。

【问题讨论】:

  • 我没有IE,请问使用有什么问题吗?怎么破了?你遇到了什么错误?
  • 我刚刚在 IE7 中尝试过,它似乎可以工作?当然,音符的切换就像冠军一样工作,甚至花哨的电话也能奏效。具体是什么坏了?
  • javascript 完全被破坏了。 @SteveWellens 的建议修复了它。感谢大家的帮助!

标签: javascript jquery cross-browser internet-explorer-9 internet-explorer-7


【解决方案1】:

您遇到的具体错误是什么?

我不了解 jQuery 和 IE 本身,但我确实不得不在不久前使用 IE 7 使用 fancybox。我不断收到与 IFRAMEs 相关的 UI 布局错误那个花式盒子被扔掉了。

如果这听起来像你所得到的,I posted a blog post on a workaround I did at that time 如果你有兴趣查看它。

【讨论】:

  • 感谢@richardneililagan 的建议。这次 Fancybox 不是问题。将 jquery 从 1.5.0 更新到 1.5.2 修复了它。
【解决方案2】:

尝试更新或旧版本的 jQuery。

【讨论】:

  • 令人惊讶的是,这似乎是问题所在。在某个地方,IE7 问题消失了,但 IE9 问题仍然存在。当我将 jquery 从 1.5.0 更改为 1.5.2 时,IE9 问题就消失了。顺便说一句:对于你们中的那些人来说,整个 javascript 都被破坏了。没有任何效果。但这似乎解决了它!谢谢!
【解决方案3】:

您能告诉我们您在 IE 中查看时遇到哪些错误吗? (启动 Windows VM 和 IE 来寻找自己的前景并不完全吸引人)

猜测:

很多时候 IE7/IE8 似乎对 JSON 表示法非常挑剔。例如,如果你以 , 结束一个对象字面量,它就会出错。

{foo1: 'bar',
 foo2: 'baz',} // <-- This , seems to be ignored by everything but IE

所以也许你应该在那里玩弄你的对象字面量?也许不要引用键并删除键之间的多余间距,: 和值。

一般建议:

尝试使用DebugBar 来调试IE 中的问题。它当然不是 FireBug,但它是你可以免费获得的最好的 IE 调试。

【讨论】:

  • IE 可以使用引用的对象键
  • 我之前遇到过“尾随逗号”问题。我花了一段时间才弄清楚出了什么问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
  • 2011-08-13
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多