4

http://bizzocall.com/faq/ - 在所有其他浏览器中运行良好,但是当我使用 IE 8 兼容性的开发人员工具对其进行测试时,它只会崩溃。

我查看了所有答案,似乎每个人都有不同的问题(我寻找了杂散的逗号、更新的 jquery 等)。

任何帮助深表感谢!

更新

我发现了一个调用 jquery 1.4(Dave 的 WordPress 实时搜索)的插件并将其删除。虽然代码看起来更干净,但它仍然会暂停 IE 8。

更新 2

删除插件似乎是诀窍。

只为那些找到这篇文章的人:这是运行 wordpress 并安装了论文。

4

7 回答 7

1

似乎你很可能有一个尾随逗号,不一定是一个杂散的逗号。例如:

{
  "hello":"world",
  "foo":"bar"
}

可以正常工作,但如果你这样做:

{
  "hello":"world",
  "foo":"bar",
}

它会完全杀死IE。寻找那个,或者给我们更多关于错误是什么的提示。

于 2011-05-13T19:38:15.333 回答
1

在带有 IE8 模式的 IE9 中它也会崩溃。(请参阅开发工具-> F12)如果您禁用 javascript,它不会崩溃..所以这是一个 javascript 问题。我看到你正在加载 3 个不同版本的 jQuery,可能是这样吗?

编辑。我正在使用调试器,并在执行 jQuery 1.44 期间被冻结(您正在从 Google CDN 将这个库加载到页脚中)

于 2011-05-13T19:42:17.287 回答
1

注释 fancybox 的 script 标签时,IE 不会崩溃。但我不知道是什么原因。

您调用 jquery 两次:jquery 1.6 和 jquery 1.4.4。似乎这会导致崩溃。但是如果禁用 jquery 1.4.4,fancybox 仍然会导致崩溃。禁用 jquery 1.6 可以避免崩溃。

于 2011-05-13T20:01:23.313 回答
1

当我进入页面时,我的 IE(IE 8.0 @ Windows Server 2003)没有被杀死。

然而,Javascript 似乎一直在运行,因为 IE 向我提供了“停止运行脚本......导致 Internet Explorer 运行缓慢......”。还有一个Javascript错误指示。它说:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; WOW64; Trident/4.0; .NET4.0C; .NET4.0E)
Timestamp: Fri, 13 May 2011 20:08:46 UTC


Message: Permission denied
Line: 133
Char: 374
Code: 0
URI: http://bizzocall.com/faq/wp-includes/js/jquery/jquery.js?ver=1.4.4

你说你更新了JQuery,但是1.4.4好像不是最新的版本吧?


更新:

我运行了开发工具(F12)来获取调用堆栈,堆栈中的条目之一(就在中间)是:

    //jquery.fancybox-1.3.4.js lines 1040-1045 in the $.fancybox.init
    $('body').append(
        tmp = $('<div id="fancybox-tmp"></div>'),
        loading = $('<div id="fancybox-loading"><div></div></div>'),
        overlay = $('<div id="fancybox-overlay"></div>'),
        wrap = $('<div id="fancybox-wrap"></div>')
    );

更新2:

我放弃。我的 Javascript/JQuery 知识太有限了。缩小的 JQuery 代码似乎也无济于事。调试之类的东西this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)})似乎不是世界上最简单的事情。

我建议在开发(未缩小)版本中使用单个 JQuery 实例(一个版本,如果您选择的话,它可能是 1.4.4)运行相同的代码。如果那时没有发生错误,则可能会出现问题。

于 2011-05-13T20:09:28.533 回答
1

来自“Dave 的 WordPress 实时搜索”的 Dave。只是想添加一些评论:

  • Dave 的 WordPress 实时搜索不会“调用 jQuery 1.4”。它告诉 WordPress 加载它附带的 jQuery 版本,目前是 1.4.4。直到下个月发布 3.2 版本,WordPress 才原生支持 jQuery 1.6。使用 jQuery 的替代版本的首选方法是“取消注册”包含的 jQuery 并在其位置注册您自己的版本。将以下内容添加到主题的 functions.php 文件中应该会处理好它:

    if ( !is_admin() ) {
      wp_deregister_script('jquery'); //deregister current jquery
      wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.js', false, '1.6', false);
      wp_enqueue_script('jquery');
    }
    
  • 最近有人发现 Dave 的 WordPress Live Search 中包含的 jQuery Dimensions 插件导致 IE8 挂起。当我第一次编写这个插件时,这是需要的,因为 WordPress 附带了一个古老的(甚至在当时)版本的 jQuery。这个 jQuery 插件提供的功能很久以前就被合并到了 jQuery 核心中,因为我已经放弃了对 WordPress < 2.9 的支持,所以不再需要它了。试一试 Dave 的 WordPress Live Search v2.1。

于 2011-05-21T04:54:41.377 回答
0

尝试在没有附加组件的情况下运行 IE。通常,全面崩溃的原因是附加组件干扰了某些东西。去做这个:

开始 > 所有程序 > 附件 > 系统工具 > Internet Explorer(无附加组件)

如果找不到,请转到运行提示符(Windows Key + R)并键入iexplore.exe -extoff

于 2011-05-13T19:42:49.617 回答
0

以上解决方案都不适合我。我最终找到了一个过时的Modernizr版本。我的在2.0.6并且可以确认该版本2.5.3完全解决了这个问题。

于 2012-04-23T16:01:23.327 回答