gpt4 book ai didi

javascript - 在 Javascript 中创建脚本标签并在之后立即调用函数

转载 作者:行者123 更新时间:2023-11-28 10:06:41 24 4
gpt4 key购买 nike

我有一些代码试图包含脚本文件,然后调用脚本文件内的函数。代码是:

function includeJS(p_file) {
var v_js = document.createElement('script');
v_js.type = 'text/javascript';
v_js.src = p_file;
document.getElementsByTagName('head')[0].appendChild(v_js);
}

function checkFlash(){
includeJS('/scripts/swfobject.js');
var playerVersion = swfobject.getFlashPlayerVersion();
return playerVersion.major;
}

alert(checkFlash());

问题是在 checkFlash() 尝试获取播放器版本时失败。我检查了 firebug,它显示脚本已加载并且读取文件正确,因此它不是路径问题。

我认为这可能是 includeJS 函数中的延迟问题,但是当我在警报之前添加该代码而不是函数时,它仍然会出现相同的问题。

关于如何完成这样的事情有什么想法吗?

谢谢。

最佳答案

我认为你的问题是在你尝试检查播放器版本之前脚本文件没有完成加载(就像你最初想象的那样)。您可能想尝试一下:

function includeJS(p_file, callback) {
var v_js = document.createElement('script');
v_js.type = 'text/javascript';
v_js.src = p_file;

v_js.onreadystatechange = callback;
v_js.onload = callback;

document.getElementsByTagName('head')[0].appendChild(v_js);
}

function checkFlash(){
var playerVersion;
includeJS('/scripts/swfobject.js', function () {
var playerVersion = swfobject.getFlashPlayerVersion();
alert(playerVersion.major);
});
}

checkFlash();

这是已接受的答案中提出的解决方案的修改版本 similar question .

关于javascript - 在 Javascript 中创建脚本标签并在之后立即调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8215634/

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