最近在使用cordova开发app,一开始只引用了cordova.js,cordova通过function exec(){}来链接本地和H5,之前代码被下载到了本地,在苹果和android上都能实现功能,可是有一天突然要放到远程上,本来以为没事,放就放呗,我H5写的页面还怕不成,可是问题来了,在android上可以正常实现,可是在ios上只出来了静态页面,一点加载的东西都没有.后来换了ios加载的cordova,这下在ios上没事,在android什么都没有,这下明白了,敢情cordova.js不是通用的啊!还得先判断机型,然后在引不同的js文件.方法如下:
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
var oScript = document.createElement('script');
script.type = 'text/javascript';
oScript.type = 'text/javascript';
script.src = 'http://xhtml5.duapp.com/cordova_plugins.js';
var u = navigator.userAgent;
if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {//android手机
oScript.src = 'http://xhtml5.duapp.com/cordova.js';
head.appendChild(oScript);
head.appendChild(script);
} else if (u.indexOf('iPhone') > -1) {//苹果手机
oScript.src = 'http://xhtml5.duapp.com/cordova_ios.js';
head.appendChild(oScript);
}
;写了这段代码之后,再运行,果然在ios和android上都能实现功能!