首页 电脑 电脑学堂 查看内容

Swift和Html5的相互调用

2016-2-8 22:44 19500 0

摘要: 当前开发的APP中,Html5的应用场景非常多,常需要两者之间的数据交换,或页面跳转。参考了相关文档,并整理如下,希望能给他人一些帮助。Html5文件如下Native APP 调用 JavaScript一个JavaScript方法对应一个WKUserS ...

当前开发的APP中,Html5的应用场景非常多,常需要两者之间的数据交换,或页面跳转。

参考了相关文档,并整理如下,希望能给他人一些帮助。

Html5文件如下

Native APP 调用 JavaScript

一个JavaScript方法对应一个WKUserScript对象。

let?conf?=?WKWebViewConfiguration()
let?userScript?=?WKUserScript(source:?"redHeader()",?injectionTime:?.AtDocumentEnd,?forMainFrameOnly:?true)
conf.userContentController.addUserScript(userScript)

webView?=?WKWebView(frame:?self.view.frame,?configuration:?conf)

JavaScript?调用?Native?APP

1.首先添加一个WKScriptMessageHandler代理

class?ViewController:?UIViewController,?WKScriptMessageHandler

2.实现?userContentController?的代理方法

func?userContentController(userContentController:?WKUserContentController!,?didReceiveScriptMessage?message:?WKScriptMessage!)?{
????if(message.name?==?"callbackHandler")?{
????????println("JavaScript?is?sending?a?message?\(message.body)")
????}
}

3.WebView启动对JavaScript的监听事件

contentController.addScriptMessageHandler(
????self,
????name:?"callbackHandler"?
)

4.H5中,添加如下JavaScript

webkit.messageHandlers.callbackHandler.postMessage("I?Love?you");

源代码下载地址

http://git.oschina.net/hengchengfei/SwiftJS

效果图

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过
1

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (1 人)

  • 雷人

    匿名

最新评论

返回顶部