ioswebview白屏(ios webview加載白屏)
本篇文章給大家談?wù)刬oswebview白屏,以及ios webview加載白屏對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、webview加載頁(yè)面 多點(diǎn)幾次后頁(yè)面加載不出來(lái),出現(xiàn)白屏
- 2、WKWebView梳理
- 3、ios 使用wkwebview 加載網(wǎng)頁(yè)之后 為什么會(huì)出現(xiàn)短暫的幾秒空白 怎么解決
- 4、解決H5在IOS的WebView下上拉下拉會(huì)帶動(dòng)整個(gè)WebView出現(xiàn)空白問(wèn)題
- 5、webview頁(yè)面加載網(wǎng)頁(yè)時(shí)成白屏怎么解決?
webview加載頁(yè)面 多點(diǎn)幾次后頁(yè)面加載不出來(lái),出現(xiàn)白屏
myWebView.setBackgroundColor(android.R.color.transparent);
//更換背景圖片
myWebView.setBackgroundResource(R.drawable.welcome);
//
第一次進(jìn)入程序時(shí),加載URL顯示加載提示框
progressFirst
=
ProgressDialog.show(MainActivity.this,
null,
"請(qǐng)稍后,正在加載.....");
//
判斷webview是否加載,加載URL
if
(myWebView
==
null)
{
myWebView.loadUrl(dataApplication.getCurrentUrl());
}
WKWebView梳理
二者都是基于 JavaScriptCore 實(shí)現(xiàn),它是一個(gè)在 WebKit 中提供 JavaScript 引擎的框架,蘋果稱之為 Nitro 。WKWebView高效原因之一是支持 JIT(Just In Time) 技術(shù),而UIWebView不支持。
WKWebView - API梳理
WKWebView - Cookie管理
WKWebView 白屏的原因在于 WebContent Process 的 crash,當(dāng) WKWebView 在單獨(dú)進(jìn)程占用較大內(nèi)存時(shí),就會(huì)導(dǎo)致白屏,此時(shí) WKWebView.URL 會(huì)變成 nil,此時(shí)調(diào)用 reload 方法刷新已經(jīng)失效。
解決方案
a. WKNavigtionDelegate 代理
當(dāng) WKWebView 總體內(nèi)存占用過(guò)大,頁(yè)面即將白屏的時(shí)候,系統(tǒng)會(huì)調(diào)用上面的回調(diào)函數(shù),我們?cè)谠摵瘮?shù)里執(zhí)行[webView reload](這個(gè)時(shí)候 webView.URL 取值尚不為 nil)解決白屏問(wèn)題。在一些高內(nèi)存消耗的頁(yè)面可能會(huì)頻繁刷新當(dāng)前頁(yè)面,H5側(cè)也要做相應(yīng)的適配操作。
b. 檢測(cè) webView.title 是否為空
并不是所有H5頁(yè)面白屏的時(shí)候都會(huì)調(diào)用上面的回調(diào)函數(shù),比如,在一個(gè)高內(nèi)存消耗的H5頁(yè)面上 present 系統(tǒng)相機(jī),拍照完畢后返回原來(lái)頁(yè)面的時(shí)候出現(xiàn)白屏現(xiàn)象(拍照過(guò)程消耗了大量?jī)?nèi)存,導(dǎo)致內(nèi)存緊張,WebContent Process 被系統(tǒng)掛起),但上面的回調(diào)函數(shù)并沒(méi)有被調(diào)用。在WKWebView白屏的時(shí)候,另一種現(xiàn)象是 webView.titile 會(huì)被置空, 因此,可以在 viewWillAppear 的時(shí)候檢測(cè) webView.title 是否為空來(lái) reload 頁(yè)面。
綜合以上兩種方法可以解決絕大多數(shù)的白屏問(wèn)題。
iOS WKWebView與JS交互:
WKWebView - 攔截網(wǎng)絡(luò)請(qǐng)求 離線化
ios 使用wkwebview 加載網(wǎng)頁(yè)之后 為什么會(huì)出現(xiàn)短暫的幾秒空白 怎么解決
這個(gè)黑邊是由于webview.scrollview向上偏移導(dǎo)致的,scrollview本身沒(méi)有背景色,你可以設(shè)置webview.backgroundColor為白色.或者設(shè)置webview.scrollview的背景色為白色
解決H5在IOS的WebView下上拉下拉會(huì)帶動(dòng)整個(gè)WebView出現(xiàn)空白問(wèn)題
注意:以上方法瀏覽器的自帶的滾動(dòng)也會(huì)被禁止 用better-scroll 實(shí)現(xiàn)的滾動(dòng)不會(huì)被禁止。
webview頁(yè)面加載網(wǎng)頁(yè)時(shí)成白屏怎么解決?
白屏也可能與服務(wù)器端有關(guān)系的,點(diǎn)擊提交后,要進(jìn)行跳轉(zhuǎn),要看服務(wù)器返回的是什么跳轉(zhuǎn)網(wǎng)址吧,對(duì)于wap頁(yè)面,不是所有的都能顯示出來(lái)的。
ioswebview白屏的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于ios webview加載白屏、ioswebview白屏的信息別忘了在本站進(jìn)行查找喔。
掃描二維碼推送至手機(jī)訪問(wèn)。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。