WKBridge 0.2.4

WKBridge 0.2.4

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2017年7月
SwiftSwift 版本3.0
SPM支持 SPM

Network 维护。



WKBridge 0.2.4

WKBridge

WKScriptMessageHandler极大地简化了在网页中运行的javascript的消息处理程序。WKScript通过WKScriptMessageHandler提供了发送和接收消息的更有效的方法。

特性

  • [x] 发送/接收消息
  • [x] 在 JavaScript 中绑定事件
  • [x] 回调事件

用法

本地处理事件

webView.bridge.register({ (parameters, completion) in
    print("print - ", parameters?["message"] ?? "")
}, for: "print")

webView.bridge.register({ (parameters, completion) in
    print("print - ", parameters?["message"] ?? "")
    completion(.success(["key": "value"]))
}, for: "some_event_need_callback")

本地调用 JS

webView.evaluateJavaScript("some_method();", completionHandler: { (results, error) in
    print(results ?? "")
})

webView.bridge.evaluate("some_method()", completion: { (results, error) in
    print(results ?? "")
})

JavaScript 发送事件

window.bridge.post('print', {message: 'Hello, world'})
// Post Event With Callback
window.bridge.post('print', {message: 'Hello, world'}, (parameters, error) => { <# Handler Parameters Or Error #>})

JavaScript 注册本地事件

var unregisterHandler = window.bridge.on('login', (parameters)=> {console.log('User Did Login')})
// To Remove Listener, call `unregisterHandler()`, Or Remove All Listener window.bridge.off('login')

本地向 JS 发送事件

webView.bridge.post(action: "login", parameters: nil)

您可以将 wk.bridge.min.js 包含到您的 html 中,或者您可以使用 WKUserScript 将它注入到 html 中。

您可以从这里下载 wk.bridge.min.js 的完整源代码。

示例

为了运行示例项目,请先克隆仓库,然后从 Example 目录运行 pod install

要求

iOS 8.0+

安装

WKBridge 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "WKBridge"

作者

[email protected]

许可

WKBridge 在 MIT 许可下可用。详见 LICENSE 文件以获取更多信息。