Javascript Cordova/Phonegap ios加载脚本不工作

Javascript Cordova/Phonegap ios加载脚本不工作,javascript,android,jquery,ios,cordova,Javascript,Android,Jquery,Ios,Cordova,我正在使用cordova.js库[version 3.4.1]构建一个新的应用程序,我还想直接使用web浏览器将其作为网页进行调试 当动态加载外部cordova.js库时,iOS emulator中存在一些问题[我有两个针对android和iOS的版本] 我有一段代码来处理这个问题: //check if mobile or local browser: var isMobile = true; if (document.URL.indexOf("local") > 0) { is

我正在使用cordova.js库[version 3.4.1]构建一个新的应用程序,我还想直接使用web浏览器将其作为网页进行调试

当动态加载外部cordova.js库时,iOS emulator中存在一些问题[我有两个针对android和iOS的版本]

我有一段代码来处理这个问题:

//check if mobile or local browser:
var isMobile = true;
if (document.URL.indexOf("local") > 0) {
    isMobile = false;
}

var deviceReadyDeferred = $.Deferred();
var jqmReadyDeferred = $.Deferred();

function onDeviceReady () {
    deviceReadyDeferred.resolve();
}
if (isMobile) {
    $(document).bind('mobileinit', function () {
        $.mobile.allowCrossDomainPages = true;
        jqmReadyDeferred.resolve();
        var useragent = navigator.userAgent;

        var loadScript = function (url) {
            url = url.replace(/\//, '\\/');
            document.write('<script charset="utf-8" src="' + url + ' "><\/script>');
        };

        if (/Android/i.test(useragent)) {
            $.getScript('js/lib/cordova_android.js', function (data, textStatus, jqxhr) {
                document.addEventListener("deviceReady", onDeviceReady, false);
            });
        } else {
            loadScript('js/lib/cordova_ios.js');
            setTimeout(function () {
                document.addEventListener("deviceReady", onDeviceReady, false);
            }, 500);
        }
    });
} else {
    jqmReadyDeferred.resolve();
    onDeviceReady();
}

您的isMobile支票很容易损坏。想象一下这样的远程URL:

http://www.somesite.com/local/foo/bar

也许iOS中的本地URL看起来不同。尝试在iOS中记录document.URL以进行检查,或者如果控制台不是选项,则可能在警报中显示它。

Thx,这是一个很好的提示。我修改了上面的原始问题,添加了对某人有用的全新代码。
http://www.somesite.com/local/foo/bar