用APP內建瀏覽器開啟網站
在使用手機APP聊天、逛論壇或閱讀時,若出現有興趣的連結內容,我們常常會直接點選 APP 內的網址連結開啟網站,而大部分的APP都會讓網站在 APP 中直接開啟,不會讓使用者的畫面跳轉到瀏覽器中檢視網站,以減少使用者因點選連結、開啟網站而離開APP的行為。
APP會這麼做的原因,除了不希望使用者因外部瀏覽器(一般瀏覽器) 而分散注意力、忘記回到APP中之外,使用者在 APP 中執行 webView 的所有行為,都會被 APP 掌握,能掌握使用者行為的數據當然不可能被 APP 輕易放棄。
※ In-App-Browser=> 內建瀏覽器/ webView=>元件名稱
※ 用 webView 達成 In-App-Browser (在 APP 內建瀏覽器開啟網頁)
什麼是瀏覽器
瀏覽器就是 Chrome、Safari 或 Edge 這種用來檢視網站的工具,它跟搜尋引擎不同,搜尋引擎是搜尋、找資料用的工具,像是 Google、Bing 或 Yahoo。
「內建瀏覽器」跟「一般瀏覽器」不同,內建瀏覽器就是建立在 APP 中的簡易瀏覽器,比如用 LINE、Facebook、Instagram…等 APP 直接開啟的網站,不想看了就直接點右上方關閉回到APP應用程式中繼續使用;而一般瀏覽器就是 Android 的 Google Chrome 或 iOS 的 Safari APP,就是用電腦開啟網站的工具,他們是一樣的,如圖。
雖然兩者都可以檢視網站,但是內建瀏覽器的實際功能不可能跟一般瀏覽器一樣完整,並且網站在開發的時候,開發者也不可能用內建瀏覽器的環境去開發網站,因此當使用者使用這類型的瀏覽器在網站中進行某些行為時,就有可能發生無法使用的情形。
內建瀏覽器造成的問題可以解決嗎?
從上方的介紹中我們可以瞭解到,大部分的 APP 都會使用內建瀏覽器來降低使用者離開 APP 的機會,並且網站在開發的時候不可能用內建瀏覽器來開發網站,且內建瀏覽器也不像是一般瀏覽器的功能這麼完善…等,綜合這些因素,使用者在使用APP的內建瀏覽器檢視網站,確實會造成部分功能無法使用的問題發生。
由於使用習慣上的方便,大多人都喜歡直接在APP中點選連結開啟網站並執行操作,那麼網站因內建瀏覽器而產生的問題是否可以解決?
最直接的解決辦法,就是請使用者、消費者離開內部瀏覽器,請他們使用外部瀏覽器(一般瀏覽器)來開啟網頁,請他們複製網址貼到一般瀏覽器中開啟網頁,或是點選內部瀏覽器中的選項前往外部瀏覽器檢視,如下圖。
但是一般使用者、消費者可能不理解是什麼意思,這可能就要麻煩網站管理者再跟對方解釋了。
如果不這麼做,有沒有可能在網站中加入程式,讓程式自動去偵測網站目前使用的是不是「內建瀏覽器」並做出對應的處置?
事實上也不是不行,只是網頁技術不斷的在更新、行動裝置的作業系統不斷的在升級,可能現在找到了可行的做法,但過一段時間就可能失效,所以內建瀏覽器的問題目前是無法根治的。
目前的解決辦法,通常是會在網站原始碼中加入程式,讓網站去呼叫外部瀏覽器並由它開啟網站,提供使用者繼續檢視網頁,如此一來網站中的功能就不太會出問題了;不過這種跳轉方式不是每一個 APP 都允許的,像 LINE 可以呼叫外部瀏覽器、強制用外部瀏覽器開啟,但 Facebook 卻沒有辦法,這是 APP 的問題,不是網站的問題。
因此,若使用內建瀏覽器而發生網站中的部分功能或版面出現錯誤,雖然網站管理者可以通知網頁設計公司處理,但由內建瀏覽器所造成的問題並沒有完美的解決方案,網站還是有可能因為技術與版本的升級或更新而再次發生問題。
資料參考:
✓ WFU BLOG|用 Line、FB 手機 APP 開啟網頁對前端工程師的困擾﹍JS 辨識內建瀏覽器(webView)的方法
✓ 你知道你的網站可能在 InAppBrowser/webview 無法使用嗎?