我有一个处理制表符开关的JavaScript文件.这是来源:
var tCount = 0;
function SwitchToTab(id) {
if (id < 0 || id > tCount) { id = 0; }
for (var i = 0; i < tCount; i++) { document.getElementById("tab" + i).className = ""; }
document.getElementById("tab" + id).className = "active";
for (var i = 0; i < tCount; i++) { document.getElementById("area" + i).style.display = "none"; }
document.getElementById("area" + id).style.display = "";
}
function InitializeTabs(initialTabId, tabsCount) {
tCount = tabsCount;
SwitchToTab(initialTabId);
}
Run Code Online (Sandbox Code Playgroud)
我试图尽可能地缩短它:
<script src="Resources/Tabs.js">InitializeTabs(0, 4);</script>
Run Code Online (Sandbox Code Playgroud)
它不起作用,但如果我将它们分开,它会起作用:
<script src="Resources/Tabs.js"></script>
<script>InitializeTabs(0, 4);</script>
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法在<script src="..."></script>标签内运行JavaScript ?我错过了什么?
不,这是不可能的.html规范规定<script>标签执行其中一个.
W3学校,重点是我的.
该元素包含脚本语句,或者通过src属性指向外部脚本文件.
注意:如果存在"src"属性,则该元素必须为空.
<script>标签Html Spec,强调我的.
脚本可以在SCRIPT元素的内容中定义,也可以在外部文件中定义.如果未设置src属性,则用户代理必须将该元素的内容解释为脚本.如果src具有URI值,则用户代理必须忽略该元素的内容并通过URI检索脚本.