WebKit框架解析(二)—— 基本概覽及WKWebView(二)

版本記錄

版本號 時間
V1.0 2017.09.19

前言

iOS8OS X 10.10以后澄干,蘋果推出了新框架WebKit,提供了替換UIWebView的組件WKWebView淤袜。各種UIWebView的問題沒有了赘被,速度更快了,占用內(nèi)存少了瞧剖。接下來幾篇我們就對WebKit框架進(jìn)行全面深度的解析拭嫁,還是老規(guī)矩可免,從簡單到復(fù)雜,從面到點(diǎn)做粤。感興趣的可以看我寫的上面幾篇浇借。
1. WebKit框架解析(一)—— 基本概覽及WKWebView(一)

創(chuàng)建和配置WebView

1. WKNavigationDelegate

WKNavigationDelegate協(xié)議的方法可以幫助您實(shí)現(xiàn)在Web視圖接受,加載和完成導(dǎo)航請求的過程中觸發(fā)的自定義行為驮宴。

2. WKProcessPool

WKProcessPool對象表示W(wǎng)eb內(nèi)容進(jìn)程池逮刨。與Web視圖相關(guān)聯(lián)的進(jìn)程池由其Web視圖配置指定呕缭。 每個Web視圖都有自己的Web內(nèi)容進(jìn)程堵泽,直到達(dá)到實(shí)現(xiàn)定義的進(jìn)程限制; 之后,具有相同進(jìn)程池的Web視圖最終會共享Web內(nèi)容進(jìn)程恢总。

3. WKWindowFeatures

當(dāng)請求新的Web視圖時迎罗,WKWindowFeatures對象指定包含窗口的可選屬性。

4. WKWebView

WKWebView對象顯示交互式Web內(nèi)容片仿,例如針對應(yīng)用內(nèi)瀏覽器纹安。 您可以使用WKWebView類將Web內(nèi)容嵌入到您的應(yīng)用程序中。 為此砂豌,創(chuàng)建一個WKWebView對象厢岂,將其設(shè)置為視圖,并向其發(fā)送加載Web內(nèi)容的請求阳距。

在iOS 8.0和OS X 10.10中塔粒,使用WKWebView將Web內(nèi)容加入到您的app中,不要使用UIWebViewWebView筐摘。

5. WKWebViewConfiguration

使用WKWebViewConfiguration類卒茬,您可以確定網(wǎng)頁呈現(xiàn)的速度,媒體播放的處理方式咖熟,用戶可以選擇的項(xiàng)目的粒度等等圃酵。

WKWebViewConfiguration僅在首次初始化Web視圖時使用。 在創(chuàng)建Web視圖的配置后馍管,您無法使用此類來更改web視圖的配置郭赐。

6. WKPreferences

WKPreferences對象封裝了Web視圖的首選項(xiàng)設(shè)置。與Web視圖關(guān)聯(lián)的首選項(xiàng)對象由其Web視圖配置指定确沸。

7. WKUIDelegate

WKUIDelegate類提供了代表網(wǎng)頁呈現(xiàn)本機(jī)用戶界面元素的方法堪置。

Web視圖用戶界面委托實(shí)現(xiàn)此協(xié)議來控制新窗口的打開,增加用戶單擊元素時顯示的默認(rèn)菜單項(xiàng)的行為张惹,并執(zhí)行其他與用戶界面相關(guān)的任務(wù)舀锨。 可以通過處理JavaScript或其他插件內(nèi)容來調(diào)用這些方法。 默認(rèn)Web視圖實(shí)現(xiàn)假定每個Web視圖有一個窗口宛逗,因此非常規(guī)用戶界面可能會實(shí)現(xiàn)用戶界面委托坎匿。


Navigating a Web View - WebView導(dǎo)航

8. WKNavigation

WKNavigation對象包含跟蹤網(wǎng)頁加載進(jìn)度的信息。

從Web視圖加載方法返回導(dǎo)航對象,并將其傳遞給導(dǎo)航委托方法替蔬,以從開始到結(jié)束唯一標(biāo)識網(wǎng)頁加載告私。 它沒有自己的方法或?qū)傩浴?/p>

9. WKNavigationAction

WKNavigationAction對象包含有關(guān)可能導(dǎo)致導(dǎo)航的操作的信息,用于作出策略決策承桥。

10. WKNavigationResponse

WKNavigationResponse對象包含有關(guān)導(dǎo)航響應(yīng)的信息驻粟,用于作出策略決策。


Traversing the Back-Forward List - 遍歷后退列表

11. WKBackForwardList

一個WKBackForwardList對象維持了一個訪問頁列表凶异,可以用來返回或者前進(jìn)到最近訪問的頁面蜀撑。

一個WKBackForwardList對象僅僅維持了列表數(shù)據(jù),它不進(jìn)行實(shí)際的頁面加載(換句話說剩彬,它不會做任何請求)酷麦,如果你需要進(jìn)行頁面加載,可以使用WKWebViewloadRequest:方法喉恋。

12. WKBackForwardListItem

WKBackForwardListItem對象代表了Web視圖返回列表中的一個webpage沃饶。

WKBackForwardListItem對象包含了返回列表中包含的webpage的信息,列表包含在WKBackForwardList對象中轻黑,該對象包含了所有與webpage相關(guān)的信息糊肤。每一個WKBackForwardListItem對象包含了一個webpage 的URL和title,以及webpage用于請求新的網(wǎng)頁的URL氓鄙。


Accessing Element and Frame Information - 訪問元素和框架信息

13. WKFrameInfo

WKFrameInfo對象包含了一個webpage的框架的相關(guān)信息馆揉。

這個類的一個實(shí)例是一個暫時的,僅數(shù)據(jù)的對象玖详;它不會唯一地標(biāo)識跨多個代理方法調(diào)用的框架把介。


Querying and Deleting Website Data - 查詢和刪除網(wǎng)站數(shù)據(jù)

14. WKWebsiteDataRecord

WKWebsiteDataRecord對象表示由URL的域名和后綴分組的網(wǎng)站數(shù)據(jù)。

15. WKWebsiteDataStore

WKWebsiteDataStore對象代表了一個已選擇的website使用的各種類型的數(shù)據(jù)蟋座,數(shù)據(jù)類型包含cookies拗踢,diskmemory cache,和持久化數(shù)據(jù)例如WebSQL向臀,Indexed DB數(shù)據(jù)庫以及本地存儲巢墅。


Uploading a File - 上傳文件

16. WKOpenPanelParameters

WKOpenPanelParameters對象包含了用于文件上傳控制的參數(shù)。


Incorporating Scripts - 合并腳本

17. WKUserContentController

WKUserContentController對象提供了一種JavaScript的方式來發(fā)布消息并將用戶腳本注入到Web視圖中券膀。

與Web視圖相關(guān)聯(lián)的用戶內(nèi)容控制器由其Web視圖配置指定君纫。

18. WKScriptMessage

WKScriptMessage對象包含了關(guān)于發(fā)送給webpage的信息。

19. WKUserScript

WKUserScript對象代表了一個可以注入到webpagescript芹彬。

20. WKScriptMessageHandler

遵循了協(xié)議WKScriptMessageHandler的類提供了一個從在webpage中運(yùn)行的JavaScript接收消息的方法蓄髓。


Identifying First-party webpages - 識別第一方網(wǎng)頁

21. WKSecurityOrigin

對象WKSecurityOrigin包含了host name、protocol和端口號 port number舒帮。第一方加載是任何加載URL與請求的網(wǎng)站具有相同的安全來源会喝。 第一方網(wǎng)頁可以訪問對方的資源陡叠,如腳本和數(shù)據(jù)庫。

這個類的一個實(shí)例是一個暫時的肢执,僅數(shù)據(jù)的對象; 它不唯一地標(biāo)識跨多個委托方法調(diào)用的安全起點(diǎn)枉阵。


Previewing an Item - 預(yù)覽條目

22. WKPreviewElementInfo

WKPreviewElement對象包含了預(yù)覽webpage的所有信息。

23. WKPreviewActionItem

WKPreviewActionItem協(xié)議提供了獲取預(yù)覽行為條目的屬性预茄。


Reference - 參考

24. WebKit Error Codes

WebKit的錯誤代碼域兴溜。WKErrorWKErrorCode 定義了同樣的錯誤碼,WKError是一個結(jié)構(gòu)體耻陕,而WKError.Code代表了一個枚舉拙徽。

25. WebKit Structures

影響很多類的WebKit結(jié)構(gòu)體。

26. WebKit Enumerations

影響很多類的WebKit枚舉淮蜈。

27. WebKit Functions

影響很多類的WebKit函數(shù)斋攀,一般以NPNNPP開頭已卷。

28. WebKit Data Types

影響很多類的WebKit數(shù)據(jù)梧田。

  • General Data Types
    • BP_CreatePluginMIMETypesPreferencesFuncPtr
    • JRIGlobalRef
    • MainFuncPtr
    • WebPreferencesPrivate
  • DOM Related Data Types
    • DOMEventExceptionCode
    • DOMExceptionCode
    • DOMObjectInternal
    • DOMRangeExceptionCode
    • DOMTimeStamp
    • DOMXPathExceptionCode

29. WebKit Constants

影響很多類的WebKit常數(shù)。

后記

未完侧蘸,待續(xù)~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末裁眯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子讳癌,更是在濱河造成了極大的恐慌穿稳,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晌坤,死亡現(xiàn)場離奇詭異逢艘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)骤菠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門它改,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人商乎,你說我怎么就攤上這事央拖。” “怎么了鹉戚?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵鲜戒,是天一觀的道長。 經(jīng)常有香客問我抹凳,道長遏餐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任赢底,我火速辦了婚禮失都,結(jié)果婚禮上蔗牡,老公的妹妹穿的比我還像新娘。我一直安慰自己嗅剖,他們只是感情好辩越,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著信粮,像睡著了一般黔攒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上强缘,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天督惰,我揣著相機(jī)與錄音,去河邊找鬼旅掂。 笑死赏胚,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的商虐。 我是一名探鬼主播觉阅,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼秘车!你這毒婦竟也來了典勇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤叮趴,失蹤者是張志新(化名)和其女友劉穎割笙,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體眯亦,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伤溉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了妻率。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乱顾。...
    茶點(diǎn)故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖舌涨,靈堂內(nèi)的尸體忽然破棺而出糯耍,到底是詐尸還是另有隱情,我是刑警寧澤囊嘉,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布温技,位于F島的核電站,受9級特大地震影響扭粱,放射性物質(zhì)發(fā)生泄漏舵鳞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一琢蛤、第九天 我趴在偏房一處隱蔽的房頂上張望蜓堕。 院中可真熱鬧抛虏,春花似錦、人聲如沸套才。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽背伴。三九已至沸毁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間傻寂,已是汗流浹背息尺。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疾掰,地道東北人搂誉。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像静檬,于是被迫代替她去往敵國和親炭懊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容