SRC 是否覆盖写入的 JS

Does SRC overwrite written JS?

本文关键字:JS 盖写 是否 覆盖 SRC      更新时间:2023-09-26

我想我已经明白发生了什么,但我找不到任何关于它的文档,所以我需要确定:

以AddThis中的这个例子为例:

<script type="text/javascript">var addthis_config = {"data_track_addressbar":true};</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=example"></script>

我想知道为什么不允许将配置脚本放入 src 调用中:

<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=example"> var addthis_config = {"data_track_addressbar":true}; </script>

我担心的是,当调用 src 时,它实际上覆盖了在标签之间编写的代码,但官方的推理和行为是什么?

发件人: http://www.jsworkshop.com/articles/02scriptsrc.html

结束标记是必需的,不应在标记之间使用 JavaScript 命令。

寄件人: http://javascript.crockford.com/script.html

src属性是可选的。如果存在,则其值是标识.js文件的 url。当浏览器获取、编译和执行文件时,页面的加载和处理将暂停。<script src="url"></script>之间的内容应为空。

如果 src 属性不存在,则编译并执行<script></script>之间的内容文本。

没有解释原因,但我的猜测是有效的src禁用标签之间任何内容的执行。

另外,请参阅此答案:https://stackoverflow.com/a/6528343/637283