4

如果 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>

谢谢,

4

2 回答 2

2

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

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

obj.height(maxHeight * options.showItems);

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

于 2012-11-21T22:25:02.060 回答
0

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

于 2012-12-17T15:17:29.427 回答