問題場景:在使用WKWebView時,活動A --->活動B,然后從活動B返回--->活動A,此時活動A頁面空白或者只有加載框。而安卓那邊則不會。
排查時發(fā)現(xiàn):活動A是根據(jù)JS調(diào)用判定來執(zhí)行后續(xù)UI選擇,但是當(dāng)iOS從活動B返回到活動A時,webView不重新加載ready活動A,導(dǎo)致webView頁面空白。安卓跟iOS之所以不同,是因為安卓webView的機制與iOS 不同,安卓在返回時會重新加載ready。
解決方案:在進入活動A的js后(前端代碼執(zhí)行)
$(function () {
var isPageHide = false;
window.addEventListener('pageshow', function () {
if (isPageHide) {
window.location.reload();
}
});
window.addEventListener('pagehide', function () {
isPageHide = true;
});
})
問題就迎刃而解了。