寫在前面
本文將介紹如何使用WKWebView進行JS與OC、OC與JS間的傳值和方法調用。
前置條件
1、導入WebKit.framework
2、聲明WKWebView
JS調用OC原生方法
1、前端在js文件中實現
這里要注意messageHandlers后面跟著的deviceInfo要與原生的定義的一致。
2、iOS 實現WKScriptMessageHandler協議
3、iOS 初始化WKWebView
這里注意[userController addScriptMessageHandler:self name:@"deviceInfo"];
這個方法里的deviceInfo要與前端定義的一致。
4、iOS 實現WKScriptMessageHandler協議方法
message.body就是前端傳來的參數
OC調用JS方法
1、實現WKNavigationDelegate協議
2、實現WKNavigationDelegate協議的- webView: didFinishNavigation:方法
3、OC調用JS方法
其中deviceInfo('8.3')為前端給出的JS方法名8.3是需要傳給前端的參數
4、注意事項
以下錯誤的解決方法
一定要在網頁加載完成后調用,否則報錯
JS方法一定要放在最外層
圖片出處不詳,請作者看到與我聯系,侵刪