【问题标题】:zrssfeed JQUery crash on IE 9, force to closezrssfeed JQUery 在 IE 9 上崩溃,强制关闭
【发布时间】:2012-11-19 08:41:08
【问题描述】:

如果 ZRSSFeed JQuery 独立运行,则可以正常工作,但是一旦我将其放入带有 JQuery 选项卡的 iFrame 中,它就会在 IE 9 中崩溃。 (我以为iFrame应该不会有JQuery冲突吧?)

您可以在这里查看: http://jsfiddle.net/VMfXr/

只需将 URL 复制并粘贴到 IE,它就会强制我的 IE 9 关闭。如果有任何帮助,不胜感激。

或以下代码:

<div class="widget_container"> <div class="widget_container_inner">
            <ul class='tabs'>
                <li><a href="#tab1">Tab1</a></li>
                <li><a href="#tab2">Tab2</a></li>
                <li><a href="#tab3">JQuery Blog</a></li>
            </ul>
            <div id='tab1'>
            <Script>window.console && console.log('tab1');</script></div>
            <div id='tab2'>
            <Script>window.console && console.log('tab2');</script>
            </div>
            <div id='tab3'> <Script>window.console && console.log('tab3');</script>
                <iFrame src="http://www.iframeURL.com" style="width:320px; height:330px; overflow:hidden" frameborder="0" scrolling="no"></iFrame>
            </div>
        </div> </div>

<script type="text/javascript">     
        jQuery.noConflict();
        (function($) {                                           
           jQuery(document).ready(function($) {         
               jQuery('ul.tabs').each(function(){           
                   var $active, $content, $links = $(this).find('a');
                   $active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]);            
                   $active.addClass('active');          
                   $content = $($active.attr('href'));

               $links.not($active).each(function () {
                $($(this).attr('href')).hide();             });

            jQuery(this).on('click', 'a', function(e){
                $active.removeClass('active');
                $content.hide();
                $active = $(this);
                $content = $($(this).attr('href'));
                $active.addClass('active');
                $content.show();
                e.preventDefault();             
                     });        
                 });    
            }); 
       })(jQuery); </script>

谢谢,

【问题讨论】:

    标签: jquery iframe tabs rss internet-explorer-9


    【解决方案1】:

    这是您的 jquery.vticker.js 文件在隐藏时在 iframe 中运行的结果。这似乎是最近更新的 IE9 中的一个错误。发生的事情是 IE 出现访问冲突,这可能是垃圾收集器无法在隐藏的 i-frame 上正常工作的结果。无论如何,要修复该错误,您可以从 http://www.sp.edu.sg/schools/dmit/widgets/ticker/blog/blog_widget_dbit.html 引用的 jquery.vticker.js 中注释掉以下代码行

    obj.children('ul').children('li').each(function() {
        $(this).height(maxHeight);
    });
    
    obj.height(maxHeight * options.showItems);
    

    这似乎与 Microsoft KB2761451 有关,这是 2012 年 11 月 13 日发布的安全更新。

    【讨论】:

    • 这肯定和KB2761451有关。您可以通过卸载该 KB 进行验证,问题就消失了。
    【解决方案2】:

    我的公司在我们的产品中遇到了这个问题,向 Microsoft 开了一张支持票,他们解决了这个问题。最后一个补丁应该可以阻止 IE9 崩溃。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      相关资源
      最近更新 更多