說在最前面的,以目前的 iOS / Android 生態來看,所謂的 InAppBrowser 大部分的支援程度都還算可以。最主要的差異在於使用了 JavaScript 的差異,跟真正的 瀏覽器 會有點落差。但是,對於樣式表來說,支援度基本上都還會有七八分像,至於不像的部分,那就是看 iOS / Android 給各種 App 的 WebView 是不是有什麼限制。
通常,對於一般用戶來說,在 App 裡面打開網頁這件事情很常見,
你的網站我打不開很爛耶!
我就 LINE 點網站打不開啊。
實際上我有好一陣子一直遇到這一類的問題,呈現有錯誤,JavaScript 執行有錯誤,然後多少可以從 User-Agent
來查一下對方的裝置版本(或是使用 Sentry 來收集一些資訊),然後,結果大概是這樣,
OS Version: Android 4.4.2
這邊有一篇 舊文 可以參考一下。
首先,他們不是原生瀏覽器,然後,他會有自己的操作行為跟尺寸。所以,當你在使用一些相對尺寸時,他在一般瀏覽器的呈現方式,跟 InAppBrowser 當中的呈現方式就不一定會一樣。
例如
vh
,ch
。
所以,有的網站會做上提示,當你使用 InAppBrowser 的時候,提醒你使用一般的瀏覽器開啟。除了要避開可能發生的問題之外,最大的用意還是希望能在畫面呈現上,有比較接近原始設計的樣貌。相對尺寸在 各種 InAppBrowser 的呈現上都有可能不同,我們都已經考慮到各種行動裝置尺寸了,實在沒心神再傷腦筋 InAppBrowser 帶來的問題。
雖然,這些問題一直都在。
逃避雖然可恥,但是有用!
個人建議,設計一個精美的提示訊息,告訴他,
MDFK 請用一般瀏覽器開啟網站。
Blog 同步刊登:[12th 鐵人賽] 關於 InAppBrowser, Day 28