一旦第一个变量被定义,我需要的是将全局变量的值保存到我的全局变量。
我需要的是:
var old_other_global;
var my_global
if(typeof other_global === "object"){
old_other_global = other_global;
my_global = (other_global = "undefined");
}
var d=document,g=d.createElement('script'),s=d.getElementsByTagName('script')[0];
g.type='text/javascript';
g.defer=true;
g.async=true;
g.src=u+'some_file.js';
s.parentNode.insertBefore(g,s);
//Set back old value to "other_global"
if(typeof old_other_global === "object"){
other_global = old_other_global;
}
变量“other_global”将在js文件“some_file.js”中更改,我将在下一步加载:
if(typeof other_global != "object")
{
//define other_global
}
在“some_file.js”更改“other_global”变量之后立即执行我需要将其保存在我的全局变量“my_global”中。
这可能吗?我无权访问“some_file.js”
修改
我这样做是因为版本控制。在加载“some_file.js”之前,可以将变量“other_global”设置为一个版本。所以我需要在加载之前将“other_global”保存到另一个变量并将其设置为undefined。然后在加载“some_file.js”并更改“other_global”后,我需要将其保存在我的全局变量中,然后使用旧值重置它(之前)加载“some_file.js”。我编辑了上面的代码。
我需要在“some_file.js”中重新定义“other_global”之后立即更改变量我不能等到文件以加载结束(如script.onload()),因为我需要触发一个函数调用在“some_file.js”的末尾,在那时我需要“my_global”来设置值。