web view调h5的方法死活调不到

时间:2024-09-28 17:36:14

web view调h5的方法死活调不到

(WebViewJavascriptBridge注册方法都能调用,只有callhandlename时无论如何也没响应)这个问题真是纠缠我好久了

webview评论区刷新问题终于找到原因了 ,我试着把咨询详情的页面url放在网上的demo里运行  发现是可以运行的,就对比了以下两个demo的区别,有两个区别:

1.如果用的WebViewJavascriptBridge是老版本的话,那么不管第三方是手动拉进去的还是pod进去的 ,都可以用

2.如果用的是最新版本的话,必须是用pod进去的才能调用到callhandlename的方法

于是我想看一下新老版本的区别和深入研究下WebViewJavascriptBridge这个第三方的实现原理。。。。下午继续更

以上结论全部推翻,不是因为没有用pod的第三方,而是因为初始化的地方不对

 _webView = [[UIWebView  alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight-50)];
_webView.delegate = self;
[_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.detailUrl]]];
[self.view addSubview:_webView]; //bridge的初始化方法
// 1.开启日志 [WebViewJavascriptBridge enableLogging]; //2.给哪个webview建立JS与OjbC的沟通桥梁 self.bridge = [WebViewJavascriptBridge bridgeForWebView:_webView]; //3.设置代理 [self.bridge setWebViewDelegate:self]; 
bridge的初始化方法必须和创建的webview在一起,否则它读取不到webview的全部信息!!!!!