为什么可以't我将JS代码置于<script src=“">代码</脚本>

Why can't I put JS code between <script src="...">CODE</script>?

本文关键字:代码 lt gt script src quot 脚本 我将 为什么 JS      更新时间:2023-09-26

我正在尝试以下操作,但似乎不起作用:

<script src="/script.js">
 alert(hello);
</script>

Script.js只包含var hello = "world"

你能不把代码放在<script src="...">CODE RIGHT HERE</script>之间吗?

如果我跳过src,它会起作用:

<script src="/script.js">    </script>
<script>
 alert(hello);
</script>

您可以指定src属性或将代码包含为script标记的内容。正如你所发现的,你不可能同时做到这两件事。

以下是Mozilla开发者网络对src属性的看法(末尾添加了重点):

此属性指定外部脚本的URI;这可以作为直接在文档中嵌入脚本的替代方案<指定了src属性的strong>script元素不应在其标记中嵌入脚本

您也可以通过仔细阅读W3C建议得出相同的结论http://www.w3.org/TR/html5/scripting-1.html但我不认为它说得这么简洁。(欢迎更正!也许我只是没有看到。)你必须按照步骤准备剧本。

从技术上讲,这是可以做到的,但前提是您使用src属性引用的脚本使用以下内容来评估内容:

eval(document.currentScript.textContent);

然而,我建议不要这样做,因为这违反了标准。