我的html中包含以下内容
<html>
<body>
<script type="text/javascript">
var hccid=98964571;
function add_chatinline(){
var nt=document.createElement("script");
nt.async=true;
nt.src="http://localhost/ll.js";
var ct=document.getElementsByTagName("script")[0];
ct.parentNode.insertBefore(nt,ct);
console.log("state is ", SORCHAT)//SORCHAT is not defined
}
add_chatinline();
</script>
</body>
</html>
在ll.js上,
var SORCHAT = SORCHAT || (function () {
return {
init: function (Args) {
console.log("hash is ", Args)
},
};
}());
但是现在收到未定义的SORCHAT错误。
通过添加window.onload
<script>
window.onload = function(){
SORCHAT.init(12736474676); //this works
}
</script>
但是每当我在window.onload函数中包含另一个javascript文件时,都不会执行SORCHAT.init。
我想念什么。
答案 0 :(得分:2)
多次使用window.onload
可能会覆盖它。您可以借助addEventListener
函数来阻止这种情况。
window.onload = function () {
console.log('onload #1');
}
window.onload = function () { // This replaces the first onload (#1)
console.log('onload #2');
}
window.addEventListener('load', function () {
console.log('onload #A');
});
window.addEventListener('load', function () {
console.log('onload #B');
});