Javascript 如何确定网站是在iPhone/Android浏览器上打开的,还是在iPhone/Android应用程序web视图中打开的?
目标是确定在中打开的网站Javascript 如何确定网站是在iPhone/Android浏览器上打开的,还是在iPhone/Android应用程序web视图中打开的?,javascript,android,ios,webview,uiwebview,Javascript,Android,Ios,Webview,Uiwebview,目标是确定在中打开的网站 设备浏览器 或者在本机应用程序web视图中 正在寻找适用于Android和iOS的解决方案 您可以使用mobileesp提供的mdetect.js文件。 查看以下链接: 您可以使用mobileesp提供的mdetect.js文件。 查看以下链接: iPhone this.webView.getSettings().setUserAgentString( this.webView.getSettings().getUserAgentString() +
- 设备浏览器
- 或者在本机应用程序web视图中
- 正在寻找适用于Android和iOS的解决方案
您可以使用mobileesp提供的mdetect.js文件。 查看以下链接:
iPhone
this.webView.getSettings().setUserAgentString(
this.webView.getSettings().getUserAgentString()
+ " "
+ getString(R.string.user_agent_suffix)
);
更改应用程序中的UserAgent
// 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);
}
function isAndroid() {
return /Android/i.test(navigator.userAgent);
}
function() isNativeApp {
return isAndroid() && /AppName\/[0-9\.]+$/.test(navigator.userAgent);
}
适用于Android:
创建时的活动
this.webView.getSettings().setUserAgentString(
this.webView.getSettings().getUserAgentString()
+ " "
+ getString(R.string.user_agent_suffix)
);
Values.XML
<string name="user_agent_suffix">AppName/1.0</string>
iPhone
this.webView.getSettings().setUserAgentString(
this.webView.getSettings().getUserAgentString()
+ " "
+ getString(R.string.user_agent_suffix)
);
更改应用程序中的UserAgent
// 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);
}
function isAndroid() {
return /Android/i.test(navigator.userAgent);
}
function() isNativeApp {
return isAndroid() && /AppName\/[0-9\.]+$/.test(navigator.userAgent);
}
适用于Android:
创建时的活动
this.webView.getSettings().setUserAgentString(
this.webView.getSettings().getUserAgentString()
+ " "
+ getString(R.string.user_agent_suffix)
);
Values.XML
<string name="user_agent_suffix">AppName/1.0</string>
为什么要这样做?到目前为止,您自己尝试了什么?我必须禁用网站上的某些功能,具体取决于网站是在本机应用程序还是移动浏览器中启动的。为什么要这样做?到目前为止您自己尝试了什么?我必须禁用网站上的某些功能,具体取决于网站是在本机应用程序还是移动浏览器中启动的浏览器