我写的Android/IOS混合的应用程序,以使对网络的包,我想用同样的观点(HTML5)为我的行动网路应用程式。分化混合应用程序或Web应用程序
有没有办法通过的jQuery或纯JavaScript来识别,加载的东西是否是混合应用或移动网络,这样我可以为移动网络和混合应用条件显示隐藏的组件。
我写的Android/IOS混合的应用程序,以使对网络的包,我想用同样的观点(HTML5)为我的行动网路应用程式。分化混合应用程序或Web应用程序
有没有办法通过的jQuery或纯JavaScript来识别,加载的东西是否是混合应用或移动网络,这样我可以为移动网络和混合应用条件显示隐藏的组件。
仅供参考,现在我们可以写使用HTML,CSS和JS我们的移动应用(混合)。而且它包装在一个包装(安卓/ IOS),有时使用Phonegap。
你的做法看起来不错,但让我们尝试另一种方法。你为什么不在你的代码库中设置一些标志,以帮助你确定你的应用程序是在webview中还是在浏览器中运行?
希望这会有所帮助。
嘿,谢谢哥们,但我想知道我们有没有在api中有这样的东西。 – sij
我还没有遇到过这样的事情,但我已经使用https://github.com/phonegap/phonegap-plugins从JavaScript访问手机的本地功能。 – codef0rmer
嗨@sij,回想一下,当你制作一个混合应用程序时,加载到webview中的html文件具有'file:///'协议,而对于托管应用程序则是'http'或'https'。所以你可以检查'window.location.href.indexOf('http')=== 0? 'web':'hybrid'' – codef0rmer
我用这个片段,对我的作品
function isApp() {
var app = document.URL.indexOf('http://') === -1 && document.URL.indexOf('https://') === -1;
if (app) {
// PhoneGap application
//alert("U're using cordova");
return true;
} else {
//alert("U're using browser");
return false;
}
}
希望它可以帮助你。问候。
Web应用程序将运行在几乎所有的智能手机上,而本地应用程序需要专门为每个操作系统开发(甚至针对这些操作系统的不同版本),而混合应用程序至少需要开发本地“容器”托管网页语言。这里有一点解释:http://goo.gl/cw05Cs –