gpt4 book ai didi

javascript - 从动态加载的外部javascript文件访问变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:09 25 4
gpt4 key购买 nike

我有一个正在使用 document.createElement() 加载的外部 js 文件(我无法修改),我需要从中访问一个变量。问题是,我不知道它什么时候完成加载。我尝试了 jQuery 的文档就绪功能,但它似乎比 javascript 文件部署得更快。我可以像这样访问变量:

setTimeout("console.log(swifttagdiv.firstChild.firstChild.src)", 5000);

但这只是一个检查变量是否是全局变量的测试。有什么想法吗?

最佳答案

您可以使用 Javascript 注入(inject)脚本,而不是将其放入您的页面。这样您就可以控制何时加载它。

这是我用来在页面中动态注入(inject)代码的函数:

    function inject(src, cb, target){
target = target || document.body;
var s = document.createElement('SCRIPT');
s.charset = 'UTF-8';
if(typeof cb === 'function'){
s.onload = function(){
cb(s);
};
s.onreadystatechange = function () {
(/loaded|complete/).test(s.readyState) && cb(s);
};
}
s.src = src;
target.appendChild(s);
return s;
}

使用它:

inject('/path/to/file.js', function(script){
//your code here
})

关于javascript - 从动态加载的外部javascript文件访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5897414/

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