iOS8之后蘋果推薦使用WKWebView替代UIWebView,優(yōu)點:
WKWebView更多的支持HTML5的特性
WKWebView更快,占用內(nèi)存可能只有UIWebView的1/3 ~ 1/4
WKWebView高達60fps的滾動刷新率和豐富的內(nèi)置手勢
WKWebView具有Safari相同的JavaScript引擎
WKWebView增加了加載進度屬性
將UIWebViewDelegate和UIWebView重構(gòu)成了14個類與3個協(xié)議
WKNavigationDelegate: 提供了追蹤主窗口網(wǎng)頁加載過程和判斷主窗口和子窗口是否進行頁面加載新頁面的相關(guān)方法。
WKScriptMessageHandler: 提供從網(wǎng)頁中收消息的回調(diào)方法。
WKUIDelegate: 提供用原生控件顯示網(wǎng)頁的方法回調(diào)。
OC與JS交互
?WKUserContentController內(nèi)容交互控制器
WKUserScript
在WKUserContentController中筋粗,所有使用到WKUserScript。WKUserContentController是用于與JS交互的類炸渡,而所注入的JS是WKUserScript對象娜亿。
WKWebview提供了API實現(xiàn)js交互 不需要借助JavaScriptCore或者webJavaScriptBridge。使用WKUserContentController實現(xiàn)js native交互蚌堵。簡單的說就是先注冊約定好的方法买决,然后再調(diào)用。