如何确定网站是在 iPhone/Android 浏览器上打开的,还是从 iPhone/Android 应用程序网页视图打
how to determine if website is opened on iPhone/Android browser or from iPhone/Android app web view?
>目标是识别正在打开的网站
- 设备浏览器
- 或在本机应用程序 Web 视图中。
- 寻找适用于安卓和iOS的解决方案
iPhone
更改应用程序中的用户代理
// Modify the user-agent
NSString* suffixUA = @"AppName";
UIWebView* webView = [[UIWebView alloc] initWithFrame:CGRectZero];
NSString* defaultUA = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
NSString* finalUA = [defaultUA stringByAppendingString:suffixUA];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:finalUA, @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
现在你可以通过Javascript检查它:
function isIOS() {
return /iPhone|iPad|iPod/i.test(navigator.userAgent);
}
function isIOSInApp() {
return isIOS() && /AppName/i.test(navigator.userAgent);
}
对于安卓:
活动创建
this.webView.getSettings().setUserAgentString(
this.webView.getSettings().getUserAgentString()
+ " "
+ getString(R.string.user_agent_suffix)
);
价值观.XML
<string name="user_agent_suffix">AppName/1.0</string>
现在你可以通过Javascript检查它:
function isAndroid() {
return /Android/i.test(navigator.userAgent);
}
function() isNativeApp {
return isAndroid() && /AppName'/[0-9'.]+$/.test(navigator.userAgent);
}
您可以使用mdetect.js由mobileesp提供的文件。查看以下链接:http://www.hand-interactive.com/detect/mobileesp_demo_javascript.htm
相关文章:
- 需要在javascript或jquery中的Android或Iphone移动设备后退按钮点击事件
- 无法使用JavaScript在iPhone上播放声音,但可以在Android上播放
- 我应该如何实现Android和iPhone的媒体查询
- CSS/JS转换:translate3d和滚动-在Android上流畅,在iPhone上没有动力
- jquery调整大小为移动窗口iPhone / Android
- 如何使用jQuery Mobile Phone-Gap for iPhone&Android添加发送电子邮件功能
- 无法在iPhone应用程序上使用PhoneGap和javascript获取JSON结果,但使用相同的代码在Android
- 让Laravel应用程序同时服务于基于浏览器的应用程序,并充当iPhone和Android应用程序的API的最佳实践是什
- 如何确定网站是在 iPhone/Android 浏览器上打开的,还是从 iPhone/Android 应用程序网页视图打
- JSPDF无法在移动设备(Android/iPhone)中生成PDF
- Jquery Mobile我有两个页面,一个用于Android,一个用于iPhone.如何检测浏览器并分配它们
- 根据用户用于浏览的设备(android选项卡、iphone、ipad)动态更改zend中的布局和模板
- jQuery addClass使窗口在Android和iPhone上滚动回顶部
- 在iPhone/Android上隐藏地址栏
- 如何在iphone/android上显示splashscreen
- iphone, ipad, android javascript print()
- iPhone/Android浏览器偶尔会关注链接href,而不是jQuery onclick事件
- Android/iPhone上的JavaScript调试
- 在NodeJS中通过USB连接Android/iPhone设备
- 模态弹出窗体移动浏览器(Android, iPhone和黑莓)