gpt4 book ai didi

javascript - IE8 在第一次执行后不运行 javascript

转载 作者:行者123 更新时间:2023-11-30 13:17:41 25 4
gpt4 key购买 nike

所以我有以下它在大多数浏览器中工作得很好除了在 IE8 和更早版本中它只会在您第一次访问页面或当您 ctrl + f5(清除缓存)并查看页面时运行。发生的事情是,这个影响的项目在我的页面主布局/模板中,所以当我遍历该网站时,它不会加载。

例如,我在主页上,单击进入个人部分,希望该项目加载到下一页,但它甚至没有出现。

$(document).ready(function () {

if (window.document.domain == "developer10.machine") {

var oScript = document.createElement('script');
oScript.type = 'text/javascript';
oScript.src = '/js/uk_converter.js';

// most browsers
oScript.onload = function () {
renderCurrencyConverter('GBP', 'EUR', 1.00);
}

// IE
oScript.onreadystatechange = function () {
if (this.readyState == 'loaded' && ($.browser.msie && parseInt($.browser.version, 10)))
{
renderCurrencyConverter('GBP', 'EUR', 1.00);
}
}
document.body.appendChild(oScript);
}
});

最佳答案

一旦您设置了已在缓存中的脚本的 src,它就会完成加载。由于您在设置 src 之后添加了 onload 处理程序,因此永远不会调用 onload 处理程序。在设置处理程序后尝试设置 src。

$(document).ready(function () {

if (window.document.domain == "developer10.machine") {

var oScript = document.createElement('script');
oScript.type = 'text/javascript';

// most browsers
oScript.onload = function () {
renderCurrencyConverter('GBP', 'EUR', 1.00);
}

// IE
oScript.onreadystatechange = function () {
if (this.readyState == 'loaded' && ($.browser.msie && parseInt($.browser.version, 10)))
{
renderCurrencyConverter('GBP', 'EUR', 1.00);
}
}

oScript.src = '/js/uk_converter.js';
document.body.appendChild(oScript);
}
});

或者尝试 jquery 脚本加载器:

$(document).ready(function () {
$.getScript("/js/uk_converter.js", function () {
renderCurrencyConverter('GBP', 'EUR', 1.00);

});
});

关于javascript - IE8 在第一次执行后不运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11417676/

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