国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - IOS - iOS11 WKWebView內(nèi)容過濾規(guī)則詳解

iOS11 WKWebView內(nèi)容過濾規(guī)則詳解

2021-03-22 16:50沒故事的卓同學(xué) IOS

本篇文章主要介紹了iOS11 WKWebView內(nèi)容過濾規(guī)則詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

WKWebView中新增了一個(gè)功能,可以對(duì)WebView的內(nèi)容添加一些自定義的過濾規(guī)則。這個(gè)功能原來在 Safari Extension 中被引入,從 11 開始同樣適用于WKWebView。

使用方法

原理上就是提供一個(gè) JSON 給 WebKit,這個(gè) JSON 包括內(nèi)容的觸發(fā)規(guī)則(trigger)和對(duì)應(yīng)的處理方式(action)。比如:

?
1
2
3
4
5
6
[{
"trigger": {
"url-filter": ".*" },
"action": {
"type": "make-https"}
}]

WebKit 會(huì)把攔截規(guī)則編譯成高效的二進(jìn)制碼。使用方法如下:

?
1
2
3
4
5
6
7
8
9
WKContentRuleListStore.default().compileContentRuleList(
  forIdentifier: "ContentBlockingRules",
 encodedContentRuleList: jsonString) { (contentRuleList, error) in
  if let error = error {
     return
  }
 let configuration = WKWebViewConfiguration()    
 configuration.userContentController.add(ruleList!)
}

可使用的處理方式:Action

對(duì)應(yīng)的 Action 有以下幾種:

  1. block:放棄加載資源,如果該資源已經(jīng)緩存也忽略緩存
  2. block-cookies:所有發(fā)送的請(qǐng)求的header中都會(huì)過濾掉cookie
  3. css-display-none:隱藏使用 CSS selector 的頁面元素,同時(shí)還有關(guān)聯(lián)的selector:
    ?
    1
    2
    3
    4
    "action": {
       "type": "css-display-none",
       "selector": "#newsletter, :matches(.main-page, .article) .news-overlay"
    }

     

  4. ignore-previous-rules:前面觸發(fā)的規(guī)則不執(zhí)行
  5. make-https:把網(wǎng)頁里的 http 請(qǐng)求改為 https 請(qǐng)求

規(guī)則觸發(fā)器:trigger

觸發(fā)器必須有url-filter,可選的鍵有:resource-type、if-domain、unless-domain

  1. url-filter 匹配 URL 的正則表達(dá)式
  2. if-domain 或者 unless-domain if-domain:規(guī)則只在這些域名下起作用。unless-domain:這些域名除外。
  3. resource-type 資源的類型,對(duì)應(yīng)的 value 有:
    1. document
    2. image
    3. style-sheet
    4. script
    5. font
    6. raw (Any untyped load, such as XMLHttpRequest)
    7. svg-document
    8. media
    9. popup
  4. load-type 資源的歸屬。默認(rèn)是全部的資源。如果收到填有兩種 value:
    1. first-party 只有當(dāng)資源和頁面的scheme、域名、端口一致時(shí)才觸發(fā)
    2. third-party 只有當(dāng)資源和頁面的域名不一致時(shí)才觸發(fā)

舉個(gè) trigger 的示例就是:

?
1
2
3
4
5
"trigger": {
    "url-filter": ".*",
    "resource-type": ["image", "style-sheet"],
    "unless-domain": ["your-content-server.com", "trusted-content-server.com"]
}

總結(jié)

可以通過配置規(guī)則攔截頁面里的資源請(qǐng)求、隱藏頁面里的指定元素、將http請(qǐng)求轉(zhuǎn)換成https。

參考

Content Blocking Rules

WWDC 17:customized_loading_in_wkwebview

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.jianshu.com/p/8af24e9dc82e

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 人人人人澡人人爽人人澡 | 国产美女在线播放 | 日韩视频―中文字幕 | 国产黄色一级大片 | 精品国产髙清在线看国产毛片 | 国产精品日日 | 亚洲国产一级 | 国产成人久久精品一区二区三区 | 日韩av视屏| 综合久久久久 | 97久久精品午夜一区二区 | 成人精品一区二区 | 在线看av的网址 | 在线观看av片| 美女视频一区 | av一级久久| 中文字幕高清在线 | 久草热线 | 午夜播影院 | 久久精品无码一区二区三区 | 一区二区三区免费看 | 日本一本视频 | 国产精品久久久99 | 精品久久久久久久久久久久 | 亚洲视频在线播放免费 | 国产精品国产三级国产aⅴ原创 | 午夜视频免费在线观看 | 久久综合一区 | 精品国产成人 | 一级片网址 | 欧美国产精品一区 | 亚洲久草| 日本末发育嫩小xxxx | 日韩成人精品 | 午夜精品美女久久久久av福利 | 成人午夜网 | 日日干,天天干 | 99久久国语露脸精品对白 | 中日韩一线二线三线视频 | 蜜桃精品在线观看 | 午夜免费|