原文:Android webview只載入10%且出現白屏問題排查解決 - Stars-One的雜貨小窩 問題 有一個主頁面,佈局里是包含的一個自定義Webview,並且註入了些原生的方法進去,供原生JS調用 原生JS調用某個方法後,會先彈出個對話框,之後進入到另外一個含Webview的頁面,並載入 ...
原文:Android webview只載入10%且出現白屏問題排查解決 - Stars-One的雜貨小窩
問題
有一個主頁面,佈局里是包含的一個自定義Webview,並且註入了些原生的方法進去,供原生JS調用
原生JS調用某個方法後,會先彈出個對話框,之後進入到另外一個含Webview的頁面,並載入JS傳遞過來的一個url,但是卻出現了白屏的問題
排查
首先,根據網上的資料,一一排查了一遍,但都沒有結果
之後,我嘗試註釋掉了設置WebChromeClient對象,發現網頁均可以正常載入
但此方法不是我想要的,因為我的自定義WebView是實現了文件上傳的功能,如果不設置WebChromeClient的話,文件上傳的功能不可使用
之後網上的大多是解決方案都是去改WebViewClient的,所以,肯定不是我這種情況的解決方法
在找資料的過程中,知道WebChromeClient類中提供了一個方法,可以獲取當前網頁的載入進度,於是重寫了此方法,將進度列印了出來,但是進度就是載入到10%,之後沒有任何反應了,頁面也是白屏的
抱著試一試,搜索了webview 載入卡住
,結果中發現了一個符合我情況的標題Android WebView 進度卡住10%不動,頁面空白,頁面無反應,不報錯
進去一看,瞬間就有了思路,原來是我用來測試的html里js代碼有觸發js彈窗,然後我又是再彈窗之後直接跳轉到頁面,於是新頁面中的webview載入資源就被暫停調了
於是我把html里的js彈窗取消,於是網頁也是能夠正常載入出來了
這個問題也是排查了兩天,真不容易