在用userAgent判斷使用者是電腦或是行動裝置觀看網頁這一篇
記錄了如何用navigator.userAgent去判斷是在行動裝置上觀看網頁還是用電腦看
但如果是要在android上判斷是在行動裝置上的瀏覽器看還是用應用程式裡面的webView看的話
就需要再webView上下一點工夫了
下面直接上code
WebVIew mWebView = new WebView(context); //先用webview的getSettings()取得webSettings再用getUserAgentString() //取得userAgent,這邊取出來的值會跟在網頁用js的navigator.userAgent取的 //值是一樣的 String userAgentStr = mWebView.getSettings().getUserAgentString(); //之後用setUserAgentString()設定新的userAgent //這邊設定新的UserAgent的時候用記得用舊的UserAgent去加入新的字串 //不然UserAgent的瀏覽器及系統訊息都會被你設定的新字串覆蓋過去 mWebView.getSettings().setUserAgentString(userAgentStr+"/ON_WEBVIEW");
之後在網頁上把UserAgent alert出來就可以看到剛剛新加入的字串了
Mozilla/5.0 (Linux; U; Android 4.1.2; zh-tw; GT-P3100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30/ON_WEBVIEW
再來就是作一樣的判斷
var userAgent = navigator.userAgent; if(/ON_WEBVIEW/i.test(userAgent)){ //是否在webview上面看 }
沒有留言:
張貼留言