gpt4 book ai didi

Javascript 动态脚本加载 IE 问题

转载 作者:搜寻专家 更新时间:2023-11-01 04:52:57 25 4
gpt4 key购买 nike

我正在尝试使用此代码动态加载脚本:

var headID = document.getElementsByTagName("head")[0]; 
var script = document.createElement('script');
script.type='text/javascript';
script.src="js/ordini/ImmOrd.js";
script.setAttribute("onload", "crtGridRicProd();");
headID.appendChild(script);

我需要在页面启动时启动 crtGridRicPrdo() 函数,在 FireFox 中一切正常,但在 Internet Explorer 中我遇到了问题!

最佳答案

Internet Explorer 不支持脚本标签上的“onload”,而是提供“onreadystatechange”(类似于 xhr 对象)。您可以通过这种方式检查其状态:

script.onreadystatechange = function () {
if (this.readyState == 'complete' || this.readyState == 'loaded') {
crtGridRicProd();
}
};

否则你可以在你的js文件末尾调用crtGridRicProd()

编辑

例子:

测试.js:

function test() {
alert("hello world");
};

index.html:

<!DOCTYPE html>
<html>

<head>
<title>test</title>
</head>
<body>
<script>
var head = document.getElementsByTagName("head")[0] || document.body;
var script = document.createElement("script");

script.src = "test.js";

script.onreadystatechange = function () {
if (this.readyState == 'complete' || this.readyState == 'loaded') {
test();
}
};

script.onload = function() {
test();
};

head.appendChild(script);

</script>
</body>

您将在两个浏览器中看到警报!

关于Javascript 动态脚本加载 IE 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6568890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com