this.appendChild(a) - 意外调用方法或属性访问

发布于 2024-12-21 04:28:24 字数 1735 浏览 1 评论 0原文

我在 IE8、IE7 和 IE6 上遇到运行时错误,它指出错误位于第 31852 行的 jQuery.min.js 中,

这是我编写的代码,所以我相信问题出在无限滚动插件上,因为它将项目附加到该文件。

经过进一步调试后,似乎有问题的行是这样的:

this.appendChild(a)

From jQuery.min.js, ie 根据调试器工具在该行上被阻塞。

var $container = $('.section');

    function getInternetExplorerVersion()
    {
      var rv = -1; // Return value assumes failure.
      if (navigator.appName == 'Microsoft Internet Explorer')
      {
        var ua = navigator.userAgent;
        var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
          rv = parseFloat( RegExp.$1 );
      }
      return rv;
    }

      var ver = getInternetExplorerVersion();

      if ( ver > -1 )
      {
        $container.masonry({
            itemSelector: '.section .article',
            isFitWidth: true,
            columnWidth: 270
          });
      } else {
        $container.imagesLoaded(function(){
          $container.masonry({
            itemSelector: '.section .article',
            isFitWidth: true,
            columnWidth: 270
          });
        });
      }

    $container.infinitescroll({
      navSelector  : '.footer .nav ul',
      nextSelector : '.footer .nav ul li.next a',
      itemSelector : '.section .article',
      loadingImg   : "images/loader.gif", 
        loadingText  : 'Loading more wishes, please wait...',
        donetext     : "All Wishes have been loaded."
      },
      function( newElements ) {
        var $newElems = $( newElements ).css({ opacity: 0 });
        $newElems.imagesLoaded(function(){
          $newElems.animate({ opacity: 1 });
          $container.masonry( 'appended', $newElems, true ); 
        });
      }
    );

I have a run time error on IE8 and IE7 and IE6 it is stating the error is in jQuery.min.js on line 31852

Here is the code i have written so i believe the issue is with the infinite scroll plugin as it appends items to the document.

After some further debugging it seems that the line in question is this:

this.appendChild(a)

From jQuery.min.js, ie is choking on this line according to the debugger tool.

var $container = $('.section');

    function getInternetExplorerVersion()
    {
      var rv = -1; // Return value assumes failure.
      if (navigator.appName == 'Microsoft Internet Explorer')
      {
        var ua = navigator.userAgent;
        var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
          rv = parseFloat( RegExp.$1 );
      }
      return rv;
    }

      var ver = getInternetExplorerVersion();

      if ( ver > -1 )
      {
        $container.masonry({
            itemSelector: '.section .article',
            isFitWidth: true,
            columnWidth: 270
          });
      } else {
        $container.imagesLoaded(function(){
          $container.masonry({
            itemSelector: '.section .article',
            isFitWidth: true,
            columnWidth: 270
          });
        });
      }

    $container.infinitescroll({
      navSelector  : '.footer .nav ul',
      nextSelector : '.footer .nav ul li.next a',
      itemSelector : '.section .article',
      loadingImg   : "images/loader.gif", 
        loadingText  : 'Loading more wishes, please wait...',
        donetext     : "All Wishes have been loaded."
      },
      function( newElements ) {
        var $newElems = $( newElements ).css({ opacity: 0 });
        $newElems.imagesLoaded(function(){
          $newElems.animate({ opacity: 1 });
          $container.masonry( 'appended', $newElems, true ); 
        });
      }
    );

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

殊姿 2024-12-28 04:28:24

您使用 ulightbox 插件吗?

就我而言,我使用的是 ulightbox,因此,尝试删除一些插件。

Are you using ulightbox plugin?

In my case, I was using ulightbox, so, try deleting some plugins.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文