【问题标题】:Uncaught TypeError: $(...).magnificPopup is not a function未捕获的类型错误:$(...).magnificPopup 不是函数
【发布时间】:2019-06-06 18:11:27
【问题描述】:

我有以下标记(注意它是通过 php eval 函数呈现的):

 <div class="my-gallery">
      ...
 </div>

 <script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

 <script>

   $.getScript("//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js")
         .done(function() {

              $('.my-gallery').magnificPopup({
                  type: 'image',
                  gallery: {
                     enabled: true
                  }
             }); 

        })
       .fail(function() {
            console.log('fail');
       });

 </script>

但是我收到以下错误:

Uncaught TypeError: $(...).magnificPopup is not a function

* 更新 *

当更改代码以使其工作时:

 <script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js"></script>

 <script>

       $('.my-gallery').magnificPopup({
                  type: 'image',
                  gallery: {
                     enabled: true
                  }
       }); 

 </script>

这很奇怪。为什么使用$.getScript() 方法时不起作用。 在网络选项卡中,它看起来像是拨打了两次电话,请参阅图片:

【问题讨论】:

  • 我无法复制它:jsfiddle.net/barmar/bc4f6k9h/1。您是否有机会加载多个 jQuery 副本?这通常会导致这样的错误。
  • @Barmar 只有一份 jQuery。这很奇怪,发生了一些非常奇怪的行为。
  • typeof $(".my-gallery").magnificPopup 打印什么?
  • @Barmar 抱歉,我不明白你的意思?
  • 在 JavaScript 控制台中输入。错误表明它不是一个函数,看看它是否是其他类型的值会很有帮助。

标签: jquery magnific-popup


【解决方案1】:

就我而言,卡巴斯基安全软件功能 antibaner 阻止了正常运行。尝试禁用您的防病毒软件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 2019-05-24
    • 2021-12-15
    • 2019-10-26
    • 2016-06-27
    • 2021-12-19
    相关资源
    最近更新 更多