首先我会解释我有什么,然后我想做什么。我搜索了很多,你可以认为这个问题已经存在,但我认为这是一个非常具体的案例。
我有一个网络应用程序,使用带有 php、jQuery、javascript 等的模板系统... 现在我正在开发一个移动网络版本,其中包含针对移动设备的特定模板。它工作正常,但当我想将移动网络包含在 android native 应用程序 中时,问题就来了,在 WebView 中。
我启用了 javascript 以及让它工作所需的一切,以便使用脚本调用我自己的 Android 功能。而且效果很好!
问题是,当我从应用程序外部的任何浏览器访问时,移动网络和 Android 检测到设备,但它说当我像这样调用 android native 应用程序函数时,函数未定义:
<script>Android.showToast("Welcome");</script>
所以问题是,我如何检测我使用的是网络浏览器还是 native 应用程序? 或者,我怎样才能避免网络移动设备因该错误而崩溃?
问候!!感谢您的帮助!
最佳答案
通过 PHP
,您可以检查正在尝试访问您网页的 user-agent
。您可以使用其中之一进行测试。
if( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'your_android_app_package_name' ) {
//...Inject your javascript code
}
if( strpos($_SERVER['HTTP_USER_AGENT'], 'your_android_app_package_name/') !== false ){
//...Inject your javascript code.
关于javascript - 如何检测使用的是 Android 浏览器还是 Android native WebView 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19404974/