xiubojin / JXBWKWebView

An component WebView for iOS base on WKWebView
MIT License
736 stars 115 forks source link

关于 webView 被回收的时候为什么要再 loadRequest 一个空页面? #17

Closed zhang759740844 closed 5 years ago

zhang759740844 commented 5 years ago

非常抱歉,又给您开了一个 issue,我在读您的代码的时候有一点不解。当一个 webView 被回收的时候,会先 clearBrowseHistory,然后再 [self loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:kWKWebViewReuseUrlString]]]; 插入一个空白页面。我想知道这个空白页面的作用是什么?

另外,在 webView 的 canGoForward 中也有相关根据 kWKWebViewReuseUrlString 来判断是否可以前进的方法,那么什么时候会产生后面的页面是自己插入的空白页面的情况呢?

xiubojin commented 5 years ago

防止webView被复用的时候显示的还是上次被回收时显示的页面。

zhang759740844 commented 5 years ago

防止webView被复用的时候显示的还是上次被回收时显示的页面。

但是在回收的时候不是会先通过 clearBrowseHistory 清空页面栈么?

xiubojin commented 5 years ago

如果不清空页面栈的话,WebView下次复用的时候就会有历史页面。 清空完历史页面后,加载kWKWebViewReuseUrlString让WebView指向空白页,达到和pc段浏览器相同的效果。

zhang759740844 commented 5 years ago

明白了,非常感谢