Javascript 在直接放置时运行,而不是在文件调用时运行

标签 javascript html wordpress

我可能做错了一些(愚蠢的)错误,但我似乎不知道是什么。 不确定这是否重要,但这是在 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/

相关文章:

php - 将自定义字段添加到管理产品 在 WooCommerce 3.2+ 中批量编辑

javascript - 根据属性删除 JSON 对象

javascript - scala.js 与 jscala 有什么区别?

php - 插入新更新时将以前的状态更新为“死亡”

javascript - 使用 JS 和 JQuery 替换 AJAX 中的字符串或 html onload

css - Wordpress 按钮中的 jQuery 对话框显示在左侧而不是右侧

javascript - DOMOBJECT.y 与 DOMOBJECT.offsetTop - 使用 y 可以吗?

javascript - 使用 JavaScript 读取 html/body 标签 margin-top

javascript - 为什么当 src 在 bootstrap 4 模态中使用 jQuery 是动态的时 HTML5 视频标签不起作用?

php - 如何测试数组中的部分字符串值