【发布时间】:2013-12-13 19:59:35
【问题描述】:
我正在开发 PhoneGapping 一个我从头开始编写的移动网络应用程序,我想知道每个人对渐进增强的想法是什么?
现在,PhoneGap 应用程序只是指向我们的域,所以服务器上的任何代码都是正在运行的。我想尽可能地保持这种方式,但我想知道是否有某种方法可以检测查看者是否通过 PhoneGap 来,然后基于此启用其他功能(例如本地联系人、推送通知) .
我知道 PhoneGap 需要 phonegap.js 文件存在,而且似乎全面包含该文件会给非Phonegap用户带来一些麻烦,所以这里的任何想法都会非常好。谢谢!
【问题讨论】:
-
您可以修改应用的用户代理。
-
到什么,但是?我没有深入研究它,但看起来 PG 并没有一个非常独特的用户代理,所以我不知道我是否能够使用类似的东西。似乎在我们的服务器上拥有 phonegap.js 文件也没有帮助 -
deviceready正在触发,但没有任何 API 可用:/ -
是的,phonegap 与内置浏览器具有相同的用户代理,但在 Android 中很容易修改。没有研究过iOS。您可以在末尾添加一些唯一的字符串(应用程序名称或包或其他内容),然后让您的服务器查找该字符串。如果它在那里,则提供 phonegap 代码,否则提供常规代码。关于API不触发,你用的是什么版本的PG?
-
嗯,很有趣。我们只是为 Android 构建这个(我们有一个原生的 iOS 应用程序),但这不是一个坏主意。我正在使用最新版本的 PG -
3.2.0-0.17.1 -
String ua = this.appView.getSettings().getUserAgentString();this.appView.getSettings().setUserAgentString(ua + " my-custom-whatever");至于 API 不可用,您确定插件已安装且 js 加载正确?请记住,在 3.0+ 中,即使是标准 API 也需要显式安装。
标签: javascript cordova progressive-enhancement