首頁 Q&A Webview是什麼程式?為什麼網站在Webview開啟出了問題?

Q. Webview是什麼程式?為什麼網站在Webview開啟出了問題?

不知道大家還記得不久前Webview程式錯誤,導致Android手機大規模的當機,還上了科技新聞頭條一事?若沒有這一次的新聞事件,大部分的人可能從未聽過Webview這個軟體是什麼,今天我們用淺顯易懂的方式分享Webview的前世今生。

 

Webview提供了更為整合的用戶體驗

不論是手機或是電腦,連上網路後,必須使用瀏覽器(Browser)才能觀看網頁,除了手機內建瀏覽器以外,其實手機都有一個迷你瀏覽器,在Android被稱為Webview,而iOS上則稱為WKWebView,但作用是一樣的:無須切換程式,就能快速觀看網頁內容。

值得一提的是Android上的Webview早期有資安問題,但Webview與Android綑綁在一起,導致安全問題更新困難,直到Android 5.0版本之後Webview正式成為獨立項目,用戶可以自行開啟、關閉、更新Webview程式。

 

瀏覽網頁,運行網站程式(App)更順暢

手機上各式各樣的App,不論是社群、新聞、影音、娛樂、購物...幾乎大多數的App都有機會開啟網頁內容,但如果每觀看一個網頁就得切換App就會顯得十分不流暢,如果能在App內就能觀看到網頁內容,App的整體感受會提升許多,這也就是Webview的價值。

有時你開啟遊戲內的通知,會跳出一個網頁貼在遊戲畫面前端,這也是Webview的功能之一。此外,社群媒體開啟網頁連結時,往往不會直接跳到瀏覽器上,而是迅速的切換到一個視窗觀看訊息,這也是Webview的功勞。

 

Webview瀏覽器功能精簡,卻有許多問題

也因為Webview太過萬用,所以越來越多相關的問題產生。最常見的問題之一就是Webview的相容性,因為Webview是一個精簡的瀏覽器,從介面就可以看到:沒有網址列、功能鍵等就是一個明顯的外觀差異,事實上內在功能也有許多差異,由於精簡,所以可能會導致一部分的網頁程式運行出問題,例如早期的Webview經常會出現網頁填寫表格視窗時,出現無法送出表單的問題。

另一個是體驗上的落差,相信大家都有過一個體驗:開啟了通訊軟體後開啟購物或是社群網頁,出現的畫面是請你填寫帳號密碼,而不是網頁內容,這是因為你的Webview沒有儲存你的帳號密碼,而是存在你的手機瀏覽器上,才會出現這樣的錯誤。

另外上述提到的版本問題,就如同瀏覽器一樣,不同的版本有不同的Bug Fix,也可能會有新的Bug產生,例如2021年三月的Webview大規模錯誤事件,發生之後Android手機幾乎難以運行,這也讓Webview的穩定性被打上問號。