如果网站在ipad safari中运行或在应用程序WebView中运行,是否有办法通过javascript进行区分?
Javascript如何检测网站是在Android的股票浏览器中加载还是加载到另一个应用程序的WebView中?我想在这两种情况下运行略有不同的代码.
我正在构建我的网站,我想知道用户是使用Android的浏览器还是使用带有webview的应用程序.
可能吗 ??
我希望能够在用户浏览Twitter应用程序内的网页时检测用户.通过检测,我想添加一个body类,我将用它来改变页面在twitter app中查找用户的方式.但是,到目前为止我所有的尝试都失败了
我可以使用以下代码在Facebook应用程序中检测webview
var ua = navigator.userAgent;
if ((ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1)) {
return 'facebook';
}
Run Code Online (Sandbox Code Playgroud)
我环顾四周/搜索其他StackOverflow解决方案.但是,我找不到可以在应用程序中检测twitter的解决方案.也就是说,我想检测用户浏览Twitter应用程序内的页面的时间.
我尝试过但失败的事情如下
if (/Twitter for/i.test(nua) === true) {
return 'twitter';
}
Run Code Online (Sandbox Code Playgroud)
要么
if (/\/\/t.co\//i.test(document.referrer) === true && /Safari\//.test(nua) === false) {
return 'twitter';
}
Run Code Online (Sandbox Code Playgroud)
或检查浏览器,设备,供应商,型号,设备类型,引擎,操作系统,操作系统版本(为什么我要检查这个?!?).我用Modernizr检查过; 但是,作为独立的Safari和应用内Twitter之间没有发现任何差异.此外,如果用户正在使用webview for android/iOS或常规浏览器,请使用" 检测"进行检查
还尝试了以下失败
var userAgent = window.navigator.userAgent.toLowerCase(),
safari = /safari/.test( userAgent ),
ios = /iphone|ipod|ipad/.test( userAgent );
var standalone = window.navigator.standalone,
userAgent = window.navigator.userAgent.toLowerCase(),
safari = /safari/.test( userAgent ),
ios = …Run Code Online (Sandbox Code Playgroud) 如何使用javascript可靠地检测到在WKWebView中加载页面?我希望能够检测到这些情况:
有一个关于UIWebView的一个类似的问题在这里.但它已经很老了,我不确定它是否仍适用于WKWebView.
我目前正在使用显示远程 URI 的 WebView 组件开发 RN 应用程序,并且在通过此 URI 加载的 JS 中,我希望能够确定我是否位于 RN WebView 内。
有人已经遇到过这个问题吗?有人能帮我吗 ?
多谢 !
javascript ×4
android ×2
ios ×2
webview ×2
browser ×1
ipad ×1
jquery ×1
react-native ×1
twitter ×1
uiwebview ×1
user-agent ×1
wkwebview ×1