有没有一种可靠的方法来检测用户是否在jQuery中使用移动设备?类似于CSS @media属性的东西?如果浏览器在手持设备上,我想运行不同的脚本.
jQuery $.browser函数不是我想要的.
我正在开发一个使用PhoneGap的Web应用程序:针对移动版本构建,并希望为"桌面"和移动版本提供单一代码库.我希望能够检测PhoneGap呼叫是否有效(即,移动设备上的用户是否支持PhoneGap).
我搜索过,无法相信没有简单的方法可以做到这一点.很多人提出了建议;
除非您从应用程序的桌面版本中删除PhoneGap Javascript文件,否则这些都无法正常工作,这会破坏我拥有一个代码库的目标.
到目前为止,我提出的唯一解决方案是浏览器/用户代理嗅探,但至少可以说这并不健全.欢迎任何更好的解决方
编辑:一个稍微好一点的解决方案是尝试在一些小的超时后调用PhoneGap函数 - 如果它不起作用,则假设用户在桌面Web浏览器上.
允许我的Phonegap应用程序浏览到也使用Phonegap API的一些外部站点.目前我有条件地包括Phonegap javascript基于你在哪个平台(Android,iOS等).但是,我无法区分Phonegap应用程序与移动设备上的常规浏览器之间的区别.有没有办法在我的Phonegap应用程序中更改用户代理,以便为我的服务器提供有关此内容的提示?
最感兴趣的是iOS解决方案.
为我们的移动网络应用程序和phonegap应用程序使用相同的代码库是否明智?它们是相似的,phonegap版本只是让我们做更多.我们可以检测它是否没有在phonegap上运行并隔离对phonegap api的调用,或者将它们分开更有意义.
NSString* jsString = [NSString stringWithFormat:@"alert('ok');"];[self.viewController.webView stringByEvaluatingJavaScriptFromString:jsString];
Run Code Online (Sandbox Code Playgroud)
我在cordova appdelegate.m中写了它!