我用这个函数动态加载外部js文件:
function getscript(url,callback) {
callback = (typeof callback != 'undefined') ? callback : {};
$.ajax({
type:"GET",
url:url,
success:callback,
dataType:"script",
cache:true
});
}
我正在加载的文件中有变量,我可以加载它们并在需要时使用它们。外部文件中的一些变量用var声明,有些是已经声明的数组的延续。
在笔记本电脑/普通电脑上运行 - 我检查是否有变量(来自外部js)已加载/声明,如果没有,我加载具有上述功能的外部js。当加载js时,我继续使用加载的变量。
但是当我在智能手机(android)上尝试它时,函数会返回成功,但我无法使用/访问该外部文件中的变量 - 没有任何反应。但是如果我刷新页面,外部文件会被缓存,我可以使用它。
同样,笔记本电脑/普通电脑也没有问题,但在智能手机上我正在测试。
这与我正在测试的Android版本有关,还是其他什么?
答案 0 :(得分:0)
解决方案:
加载外部文件时,检查其中一个外部变量是否仍未定义,如果是,则重复再次启动外部加载的过程,但此时间文件将被加载。它有效。