ALBridge 1.2.0

ALBridge 1.2.0

Jerry Huang 维护。



ALBridge 1.2.0

  • 作者
  • Jerry Huang

ALBridge

ALBridge 是为 iOS 上 WKWebView 提供的一个轻量级 JavaScript 桥接器。
AL 是“安澜”的简称,是中国成都市都江堰一座古桥的名字。

函数

  • JSAction
    JSAction 是一个可以被 JavaScript 调用的代码块。在使用前需要先在 ALBridge 中进行注册,通过异步回调函数返回 JSAction 的结果。
  • 分发原生事件
    原生事件可以被分发给 window 对象,在 JavaScript 代码中可以通过 window.addEventListener(event, handler) 进行监听。
  • 白名单
    只有白名单上的网站才能使用 ALBridge。

如何安装

pod 'ALBridge'

如何使用

注册 ALBridge

let bridge = ALBridge.init()
webView.registerJSBridge(bridge)

注册JSAction

JSAction 是一个可以被 JavaScript 调用的代码块。在使用前需要先在 ALBridge 中进行注册,通过异步回调函数返回 JSAction 的结果。

您可以直接在ALBridge.handler中添加JSAction和操作名称。

bridge.handlers["action_name"] = { (message, param, completionHandler, progressChangedHandler) in
    /* implement */
}

如果没有返回结果,可以忽略JSAction的回调处理程序。

触发本地事件

ALBridge支持向JavaScript的窗口对象派发本地事件。

webView.dispatchEvent(name: "event_name", content: params)

白名单

ALBridge将在派发本地事件或执行JSActivon之前检查wkwebview的当前url是否位于白名单中。
白名单验证仅验证url的方案、主机和端口号。
如果ALBridge的白名单为空,则表示无需验证。

  • 将url添加到白名单

    bridge.addWhitelist(url)
  • 从白名单中删除url

    bridge.removeWhitelist(url)
  • 清理白名单

    bridge.clearWhitelist()