JSBridgeKit 0.1.8

JSBridgeKit 0.1.8

hhfa008 维护。



  • 作者:
  • hhfa008

SwiftJSBridge

SwiftJSBridge 是一个实用的 JavaScript Bridge,使用 Swift 编写,支持 WKWebView 和 UIWebView

示例

  1. Swift
let JSBridge = SwiftJSBridge(for: webview)
JSBridge.addSwift(bridge: { (data, cb) in
            cb?(["appVersion":"1.0"])
 }, name: "getAppVersion")

JSBridge?.callJS(name: "sendMessageToJS", data: ["message":"Hi, I am native"]) { (data) in
  
}
  1. JS
 function setupSwiftJSBridge(callback) {
            if (window.SwiftJSBridge) { return callback(SwiftJSBridge); }
            if (window.SwiftJSBridgeReadyCallbacks) { return window.SwiftJSBridgeReadyCallbacks.push(callback); }
            window.SwiftJSBridgeReadyCallbacks = [callback];
            SwiftJSBridgeInject()
        }

        function isWebKit() {
            return window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.SwiftJSBridgeInject;
        }

        function SwiftJSBridgeInject() {
            console.log("SwiftJSBridgeInject" )
            if (isWebKit())  {
                window.webkit.messageHandlers.SwiftJSBridgeInject.postMessage("SwiftJSBridgeInject")
            } else {
                var src = "https://SwiftJSBridgeInject/" + Math.random()
                var req = new XMLHttpRequest
                req.open("GET", src)
                req.send()
            }
        }

        setupSwiftJSBridge(function(bridge) {
            function log(message, data) {
                console.log(message+data)
            }

            bridge.addJSBridge('sendMessageToJS', function(data, responseCallback) {
                log('Native called sendMessageToJS with', data)
                var responseData = { message:'Hi, I am JS' }
                log('JS responding with', responseData)
                responseCallback(responseData)
            })
        })
        function test() {

            SwiftJSBridge.callNativeBridge("getAppVersion",{"data":"v1"},function(data){
                console.log("callback")
                console.log(data)
            })


        }

要运行示例项目,请先克隆仓库,然后在 Example 目录下运行 pod install

需求

安装

SwiftJSBridge 可通过 CocoaPods 获取。要安装它,只需在 Podfile 中添加以下行

pod 'JSBridgeKit'

作者

hhfa008,[email protected]

许可

SwiftJSBridge 采用 MIT 许可协议。更多详情请参阅 LICENSE 文件。