我可能做错了一些(愚蠢的)错误,但我似乎不知道是什么。 不确定这是否重要,但这是在 WordPress 网站上。
下面的代码基本上是一个弹出窗口,点击一个网址,它会在新选项卡中打开当前窗口,并在旧选项卡中打开一个弹出窗口(赞助商给了我这个代码)
如果我将代码放在我的网站上,如下所示,它就可以完美运行。
但我想从文件中调用它。但是当它保存在文件中时,它似乎不起作用(在文件中我删除了脚本标签)
我称之为
<script src="myurl/filename.js" type="text/javascript"></script>
其他类似调用的 javascript 文件在我的网站上也能工作
<script>
(function() {
// do stuff
}());
</script>
编辑:感谢floodlitworld的答案,它现在可以工作了,但我仍然不明白为什么 包装器的末尾是:
}());
更改为以下内容后,它就起作用了:
})();
移动此部分后发生了什么变化:?
()
最佳答案
您是否使用浏览器开发面板上的“网络”选项卡来检查外部 JS 文件是否确实正确加载?
另外,您的外部脚本是否具有相同的
(function() {
// do stuff
})()
包裹它?
关于Javascript 在直接放置时运行,而不是在文件调用时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57348559/