1

试图为 ajax 内容实现一个宏伟的弹出窗口。只想从链接指向的页面加载一个元素。为了更容易,我使用“数据片段”作为链接的属性。标记看起来像这样:

<a href="browse-taxonomy.html" class="modal-ajax-fragment" data-fragment="#browse-taxonomy" title="Browse">

JS 函数如下所示:

$( '.modal-ajax-fragment' ).magnificPopup({
          type: 'ajax',
          fixedContentPos: false,
          fixedBgPos: true,
          overflowY: 'auto',
          closeBtnInside: true,
          preloader: false,
          midClick: true,
          removalDelay: 300,
          mainClass: 'my-mfp-zoom-in',
          disableOn: 480,

          callbacks: {

             parseAjax: function( mfpResponse ) {

                    var mp = $.magnificPopup.instance,
                        t = $( mp.currItem.el[0] ),
                        fragment = ( t.data( 'fragment' ) );

                        mfpResponse.data = $( mfpResponse.data ).find( fragment );
                        console.log( 'Ajax content loaded:', mfpResponse );
            }
          }
      });

在所有现代浏览器(Chrome、FF、Safari、IE10)中都能很好地工作——但我一定做错了 b/c 它在 IE9 及以下版本中绝对窒息。IE 的控制台/检查器什么也没告诉我——有时它会在旋转几分钟后工作——有时它只是锁定程序。

任何想法可能导致 IE 如此头痛?谢谢!

4

1 回答 1

1

解决方案:删除将 mfpResponse 记录到控制台的行:

// console.log('Ajax 内容加载:', mfpResponse );

于 2014-08-22T15:54:09.367 回答