Laotu5i0
Laotu5i0
2016-08-18 03:44
采纳率: 100%
浏览 2.7k
已采纳

iOS WebView 点击跳转到下一个H5后,用JSExport绑定的方法无法调用

  • 现象: 第一个H5: 图片说明 点击第一个H5里面相关文章的其中一篇后,跳转至第二个H5: 图片说明 目前我的思路是每次打开一个H5,通过js 访问IOS ,提交一个数据。 目前的现象是,第一个H5 js可以访问到JSExprot绑定的方法,而第二个H5则访问不到,断点调试也看不错问题来。

关键代码如下:

 func webViewDidStartLoad(webView: UIWebView) {

    self.progress.layer.hidden = false
    ptimer.fire();

    let context = webView.valueForKeyPath("documentView.webView.mainFrame.javaScriptContext") as? JSContext
    let caimeiProxyBridge = CaimeiProxyBridge()
    caimeiProxyBridge.controller = self
    self.jsContext = context
    self.caimeiProxyBridge = caimeiProxyBridge


    // 这一步是将OCModel这个模型注入到JS中,在JS就可以通过OCModel调用我们公暴露的方法了。
    self.jsContext?.setObject(caimeiProxyBridge, forKeyedSubscript: "CaimeiProxyBridge")
    // 注册当前访问的页面到 jsContext
//        let url = self.webView.request?.URL?.absoluteString
//        self.jsContext!.evaluateScript(try? String(contentsOfURL: NSURL(string: url!)!, encoding: NSUTF8StringEncoding))

    self.jsContext?.exceptionHandler = {
        (context, exception) in
        print("exception @", exception)
    }

}

代码是 swift

本人IOS开发是菜鸟,一路百度过来的。项目交付就差这个问题了,望大神们能指点一二,先谢谢了!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

相关推荐