WebView 中 shouldOverrideUrlLoading 的作用
回調的時機
根據觀察,當頁面鏈接發生變化時,從一個頁面變成了另一個頁面,就會回調這個。而頁面裏面加載js,css,圖片等內容的時候,不會回調此鏈接。前提是你的返回值是false。如果是true,也可以讓他回調,這裏需要你顯性的調用view.loadUrl(url),我的理解是當調用loadUrl(url)時,無論如何,他都會自動調用一次該方法。
返回值
官方說明:
True if the host application wants to leave the current WebView and handle the url itself, otherwise return false.
如果主機應用程序想要離開當前WebView並處理URL本身,則爲True,否則返回false。
- 如果是true
在重寫該方法時,如果不主動去加載(view.load(url)),頁面將不會繼續加載鏈接,會停留在第一個頁面。 - 如果是false
所有的頁面變化會走該方法,頁面會正常加載。但是重寫loadUrl方法時,發現loadUrl只走第一次。
其他
當顯示的在該方法裏調用view.loadUrl(url)時,都會走loadUrl();