WKWebView API精講(OC)


前言

鑒於LL同志對筆者說:“能不能寫個OC版本的WKWebView的使用教程?”,還積極打賞了30RMB,筆者又怎么好意思拒絕呢,於是才有了下文。

所有看到本篇文章的同志們,應該要感謝LL同志,更要向LL同志學習,積極打賞!

WKWebView

看看WKWebView的頭文件聲明:

WKWebViewConfiguration配置

WKPreferences偏好設置

目前在iOS平台上偏好設置只有三個屬性可以設置,如下:

WKProcessPool內容處理池

WKProcessPool並沒有公開任何的屬性或者方法,不需要配置:

其實我們也沒有必須去創建它。

WKUserContentController內容交互控制器

我們要通過JS與webview內容交互,就需要到這個類了,它的所有屬性及方法說明如下:

WKUserScript

在WKUserContentController中,所有使用到WKUserScript。WKUserContentController是用於與JS交互的類,而所注入的JS是WKUserScript對象。它的所有屬性和方法如下:

WKUserScriptInjectionTime

它是一個枚舉類型,只有在文檔開始加載時注入和加載結束時注入。

WKWebsiteDataStore存儲的Web內容

iOS9.0以后才能使用這個類。它是代表webview不同的數據類型,包括cookies、disk、memory caches、WebSQL、IndexedDB數據庫和本地存儲。

從這里看,要優化Webview好像可以通過它來實現,不過要求iOS9.0以上才能使用。現在6.0都沒有拋棄的我,從來不能考慮這種最新的。

所有的dataTypes是下面這些系統所定義的:

WKWebsiteDataRecord

iOS9.0以后才可用。

website的數據存儲記錄類型,它只有兩個屬性:

WKSelectionGranularity選擇粒度

它表示在webview上選擇內容的粒度,只有下面這兩種類型:

它是用於webview內容交互時選擇內容的粒度類型設置。比如說,當使用WKSelectionGranularityDynamic時,而所選擇的內容是單個塊,這時候granularity可能會是單個字符;當所選擇的web內容不限制於某個塊時,granularity可能會是單個塊。

WKNavigationDelegate

WKNavigationActionPolicy

導航動作決定策略:

它是枚舉類型,只有Cancel和Allow這兩種。設置為Cancel就


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM