在<script src ="..."> </ script>标签内运行JavaScript?

MFa*_*MAR 8 html javascript

我有一个处理制表符开关的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 ?我错过了什么?

DLe*_*Leh 8

不,这是不可能的.html规范规定<script>标签执行其中一个.

W3学校,重点是我的.

该元素包含脚本语句,或者通过src属性指向外部脚本文件.

注意:如果存在"src"属性,则该元素必须为空.

<script>标签Html Spec,强调我的.

脚本可以在SCRIPT元素的内容中定义,也可以在外部文件中定义.如果未设置src属性,则用户代理必须将该元素的内容解释为脚本.如果src具有URI值,则用户代理必须忽略该元素的内容并通过URI检索脚本.

  • 如果你谈论HTML规范,你应该链接到规范,而不是W3schools,这是完全不相关的. (2认同)