我正在尝试动态地将外部脚本标记添加到我的html中,如下所示:
HTML
<html>
<head>
<script src="js/load-scripts.js"></script>
</head>
<body>
<form>
Load scripts NOW!!<br/>
<input type="text" onclick="downScripts(); testCall();" value="Click to Load scripts and test" />
</form>
</body>
</html>
负载scripts.js中
function downScripts() {
var element = document.createElement("SCRIPT");
element.src = "js/try-catch.js";
element.defer = false;
console.log(element);
document.body.appendChild(element);
}
当我点击按钮时,js / try-catch.js文件被添加到chrome dev工具中的Sources,但是当我尝试从try-catch.js中调用一个函数时 - 这是在try-中定义的catch.js(如下面的testCall())
尝试-catch.js
function testCall() {
alert('scripts imported from try catch js external');
}
如果添加了外部javascript(我在开发人员工具中看到它),为什么我无法调用其中一个函数 - 我收到此错误:未捕获的ReferenceError:testCall未定义
答案 0 :(得分:0)
testCall
函数的调用早于try-catch.js的加载。