WKWebView API精講(OC)

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就是不允許導航,就不會跳轉鏈接。

WKNavigationResponsePolicy

WKNavigationResponse

WKNavigationResponse是導航響應類,通過它可以獲取相關響應的信息:

只有接收響應與不接收響應兩種。

WKNavigationAction

WKNavigationAction對象包含關於導航的action的信息,用於make policy decisions。它只有以下幾個屬性:

WKNavigationType

WKNavigationType類型是枚舉類型,它的可選值如下:

WKUIDelegate

WKBackForwardList

WKBackForwardList表示webview中可以前進或者後退的頁面列表。其聲明如下:

WKBackForwardListItem

頁面導航前進、後退列表項:

最後

本篇文章只是講解了WKWebView所有相關的類的API,先閱讀過本篇文章,再繼續往下閱讀實戰篇文章!

關注下一篇:WKWebView與H5交互實戰

原文:https://yq.aliyun.com/articles/37072

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章