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

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条回答 默认 最新

查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。