ios11對wkwebview的功能進一步完善,新增如下功能:
manager cookies
fileter unwanted content
provide custom resources
下面是對各個特性的簡單介紹,詳細可參見原始碼。
cookiestore.setcookie(cookie!)也就是在載入網頁前,將cookie注入。更多可參見這裡源**。
2.fileter unwanted content
let jsonstring = """
[,"action":
}]"""
這裡主要用到了wkcontentruleliststore。下面就來詳細對其進行介紹。
建立乙個trigger字典
乙個trigger的字典必須要包含url-filter這個key,它指定了匹配url的模式。其他的就是可選的了,例如你可以限制指定的網域名稱,讓該網域名稱的內容不載入。例如下面的這個trigger規則,制定了用於和樣式資源的規則trigger,不包含某寫網域名稱上的:
"trigger":
建立乙個action字典//把所有的阻塞載入
let jsonstring = """
[,"action":
}]"""
wkcontentruleliststore.default().compilecontentrulelist(foridentifier: "demorulelist", encodedcontentrulelist: jsonstring)
let configuration = self.filterwebview.configuration
configuration.usercontentcontroller.add(contentrulelist)
self.filterwebview.load(urlrequest.init(url: url.init(string: "")!))
}
3.provide custom resourceslet configuration = wkwebviewconfiguration()
let schemehandler = mycustomschemehandler.init(viewcontroller: self)
configuration.seturlschemehandler(schemehandler, forurlscheme: "wk-feature")
實現了自己的schemehandler,然後對特定的scheme進行處理。
總結如果你還在使用uiwebview,那麼趕快更換為wkwebview吧。畢竟蘋果更傾向於wkwebview。不斷地將其功能豐富。而且經過了幾個版本迭代,使用wkwebview的坑也都逐漸填平。
附原始碼1.wkwebviewnewfeature
參考
WKWebView強大的新特性
ios11對wkwebview的功能進一步完善,新增如下功能 manager cookies fileter unwanted content provide custom resources 下面是對各個特性的簡單介紹,詳細可參見原始碼。cookiestore.setcookie cookie 也...
MySQL新強大特性 事件
下面是一些內容節選 設定事件並執行 mysql use test database changed mysql create table test.t s1 timestamp query ok,0 rows affected 0.11 sec mysql create event e on sch...
Apache Solr 的新特性
在 使用 apache solr 實現更加靈巧的搜尋 系列文章發表之後,apache solr 又新增了很多新的特性和效能改進。在本文中,solr 和 lucene 的負責人 grant ingersoll 詳細介紹了 solr 1.3 的新改進,包括分布式搜尋 輕鬆資料庫匯入 整合拼寫檢查和新的擴...