首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在脚本标记块之间调用JavaScript函数

在脚本标记块之间调用JavaScript函数
EN

Stack Overflow用户
提问于 2015-08-28 04:02:18
回答 2查看 4.6K关注 0票数 1

我有两组包含<script>函数的JavaScript标记块,并将它们按优先级排序。其中一个标记包含一个src到另一个外部.js库文件,如下所示。

代码语言:javascript
代码运行次数:0
运行
复制
<script src='libtest.js'>
    function helloworld() {
        alert('hello world');
    }

    function callLibraryTest() {
        runLibraryTest(); //Calls into libtest.js for auto test.
    }
</script>

... some html ...

<script>
    function callHello() {
        helloworld();
    }
</script>

我得到的错误是callHello()函数没有定义helloworld()。我该怎么解决呢?

请注意,脚本是故意分开的,因为如果它们被捆绑在一起,调用callHello()也可能没有定义。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-28 04:03:32

如果<script>标记具有src属性,则它也不能包含脚本文本。将helloworld函数移动到单独的<script>标记。

代码语言:javascript
代码运行次数:0
运行
复制
<script src="libtest.js"></script>

<script>
    function helloworld() {
        alert('hello world');
    }

    function callLibraryTest() {
        runLibraryTest(); // Calls into libtest.js for auto test.
    }
</script>

<!-- some html ... -->

<script>
    function callHello() {
        helloworld();
    }
</script>
票数 9
EN

Stack Overflow用户

发布于 2015-08-28 05:36:36

假设您在成功加载"callHello“函数时试图运行"libtest.js”函数。正如Dan已经解释的那样,带有src属性的标记不能在其正文中包含javascript代码。您可以尝试类似回调方法的技巧。例如,将src标记修改为"libtest.js?callback=callHello“,并在libtest.js的末尾执行回调方法。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32263138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档