我尝试以下操作,但它似乎无法正常工作:
<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>
答案 0 :(得分:8)
您可以指定src
属性或将代码包含为script
标记的内容。正如你所发现的那样,你不能同时做到这两点。
以下是关于src
属性Mozilla Developer Network has to say的内容(最后添加的重点):
此属性指定外部脚本的URI;这可以用作直接在文档中嵌入脚本的替代方法。指定了src属性的脚本元素不应在其标记中嵌入脚本。
你也可以在http://www.w3.org/TR/html5/scripting-1.html仔细阅读W3C建议书得出同样的结论,但我不认为它如此简明扼要。 (更正欢迎!也许我只是没有看到它。)你必须按照步骤准备一个脚本。
答案 1 :(得分:1)
从技术上讲,只有当您使用src属性引用的脚本使用以下内容评估内容时,才能完成此操作:
eval(document.currentScript.textContent);
但是我建议不要这样做,因为它违反了标准。