动态加载的js文件

时间:2017-02-20 16:19:16

标签: javascript jquery smartphone

我用这个函数动态加载外部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版本有关,还是其他什么?

1 个答案:

答案 0 :(得分:0)

解决方案:

加载外部文件时,检查其中一个外部变量是否仍未定义,如果是,则重复再次启动外部加载的过程,但此时间文件将被加载。它有效。