未捕获的类型错误:$(...).magnificPopup 不是函数
Posted
技术标签:
【中文标题】未捕获的类型错误:$(...).magnificPopup 不是函数【英文标题】:Uncaught TypeError: $(...).magnificPopup is not a function 【发布时间】: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 控制台中输入。错误表明它不是一个函数,看看它是否是其他类型的值会很有帮助。
【参考方案1】:
就我而言,卡巴斯基安全软件功能 antibaner 阻止了正常运行。尝试禁用您的防病毒软件。
【讨论】:
以上是关于未捕获的类型错误:$(...).magnificPopup 不是函数的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的类型错误:无法读取未定义的属性 toLowerCase
JQuery:未捕获的类型错误:无法读取未定义的属性“调用”