Javascript Cordova/Phonegap ios加载脚本不工作
我正在使用cordova.js库[version 3.4.1]构建一个新的应用程序,我还想直接使用web浏览器将其作为网页进行调试 当动态加载外部cordova.js库时,iOS emulator中存在一些问题[我有两个针对android和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
//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