我做了一个随机实验并尝试在脚本标记内写入,加载外部js文件并调用其中一个方法,但它没有工作。这是我的js文件
//external.js
var myObject = {
myMethod: function(){
document.getElementById('container').innerHTML = "Hello, Internet!"
}
}
这是html:
<script type="text/javascript" src="external.js">
myObject.myMethod();
</script>
所以我有两个问题。一个显然是为什么没有调用该方法?第二个是为什么我的控制台没有错误?例如:myObject.myMethod不是函数
答案 0 :(得分:1)
通过src属性引用文件的<script src="–">
元素内的代码无法执行。这在Restrictions for contents of script elements中有解释,但没有浏览器“强制执行”“必须是评论内容”的事情。
Identifying the current <script>
element解释了如何使用此行为来参数化脚本执行。
答案 1 :(得分:0)
看看https://www.w3.org/TR/html4/interact/scripts.html#h-18.2.1
脚本可以在SCRIPT元素的内容中定义 在外部文件中。如果未设置src属性,则必须使用用户代理 将元素的内容解释为脚本。如果src有一个 URI值,用户代理必须忽略元素的内容并检索 脚本通过URI。请注意,charset属性指的是 src属性指定的脚本的字符编码;它 不涉及SCRIPT元素的内容。
答案 2 :(得分:0)
将函数调用放在外部JavaScript文件中,如下所示:
var myObject = {
myMethod: function(){
document.getElementById('container').innerHTML = "Hello, Internet!"
}
}
myObject.myMethod();