gpt4 book ai didi

javascript - 无法从动态加载的javascript访问变量

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

我正在使用一个相当简单的系统来动态加载 javascript:

include = function (url) {
var e = document.createElement("script");
e.src = url;
e.type="text/javascript";
document.getElementsByTagName("head")[0].appendChild(e);
};

假设我有一个包含以下内容的文件 test.js:

var foo = 4;

现在,在我的原始脚本中,我想使用

include(test.js);
console.log(foo);

但是,我收到一个“foo has not been defined”错误。我猜这与作为 <head> 的最后一个子项包含的动态脚本有关标签。我怎样才能让它发挥作用?

最佳答案

这是因为你必须等待脚本加载。它不像您想象的那样同步。这可能对您有用:

include = function (url, fn) {
var e = document.createElement("script");
e.onload = fn;
e.src = url;
e.async=true;
document.getElementsByTagName("head")[0].appendChild(e);
};

include("test.js",function(){
console.log(foo);
});

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

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