[英]Detect whether a website runs in Android browser or webView of an app
更新:感謝您的回答,但我想澄清一下我是一名javascript開發人員而不是Android應用程序開發人員,我需要在運行時檢測網站是在Android瀏覽器中加載還是加載到應用程序的WebView中,通過JavaScript代碼
原始問題:當我不對應用程序負責時,Javascript如何在運行時檢測網站是在Android瀏覽器中加載還是加載到應用程序的WebView中?
我相信瀏覽器和webview的用戶代理將是相同的,因此無法區分。
但你可以做的是嘗試將javascript代碼綁定到android代碼並調用它。 如果成功則在webview中運行,或者如果它失敗則在瀏覽器中運行。
有關如何執行此操作的詳細信息,請參閱:
http://developer.android.com/guide/webapps/webview.html#BindingJavaScript
示例(Java / Javascript可能不正確):
@JavascriptInterface
public void userAgentDetect() {
WebView = true;
}
將WebView變量設置為false然后嘗試運行該函數。
然后檢查WebView布爾值以確認它是在應用程序還是瀏覽器中。
編輯:這是另一個例子: 在Android瀏覽器或WebView中檢測
一種解決方案可能是向WebView
用戶代理添加內容,因此沒有特殊標識符的任何其他內容都將來自其他位置。
您可以像這樣更改WebView
用戶代理:
//get current user agent
String userAgent = myWebView.getSettings().getUserAgentString();
//add something
userAgent = userAgent + " my_website_is_in_a_webview";
//save the new user agent
myWebView.getSettings().setUserAgentString(userAgent);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.