WebViewJavascriptBridgeOC与Swift的H5交互框架
Swift 的 WebViewJavascriptBridgeOC 框架,是做 iOS 混合开发时一个挺实用的家伙。它帮你搞定 Swift 和 H5 之间那点“沟通问题”,用起来还蛮顺手的。不用写一堆桥接代码,也不用纠结谁来通知谁,框架都安排好了,蛮适合项目里有一堆 WebView 页面的场景。
WebView 里的 H5 想调原生?注册一下handler
就行。Swift 那边也可以通过桥调 H5 函数,响应也快,代码也简单。你只需要在WKWebView
里加点配置,比如WKUserContentController
、addScriptMessageHandler
之类的,基本上就能跑了。
桥初始化这块,建议放在viewDidLoad
里,像下面这样:
let contentController = WKUserContentController()
contentController.add(self, name: "handlerName")
let config = WKWebViewConfiguration()
config.userContentController = contentController
webView = WKWebView(frame: .zero, configuration: config)
你用WebViewJavascriptBridge
注册下原生方法,H5 一调就能收到。JavaScript 端也简单,用window.WebViewJavascriptBridge.send
发消息,Swift 这边就能了。
要注意:H5 和原生都得配合好,比如函数名、参数结构要统一。不然一边喊了半天,另一边压根不理你——多尴尬。还有性能问题,别老在桥里塞大数据,容易卡顿。
如果你在做 App 里嵌网页,想让 Web 和原生来点“默契配合”,这套方案还挺推荐的。顺手、稳定,也不折腾。
swift-WebViewJavascriptBridgeOC与H5的交互.zip
预估大小:30个文件
WebViewAndHTML-master
文件夹
README.md
4KB
WebViewAndHTMLTests
文件夹
WebViewAndHTMLTests.m
923B
Info.plist
680B
WebViewAndHTML
文件夹
KSWebViewController.h
226B
AppDelegate.h
280B
Base.lproj
文件夹
LaunchScreen.storyboard
2KB
45.34KB
文件大小:
评论区