iOS

IOS js交互(网页按钮点击回调)

2016-11-10  本文已影响198人  左岸花不开

网页里面的一段 html 代码如下

<  br  > <  input type="button"  onclilc="window.demo.toMesssage()"  value="1、消息"/ >  < br >

<  br  > <  input type="button" onclick="window.demo.toActive()  value="2、赛事" / >  <  br  >

比如有这2个按钮。点击网页后从app跳转到消息和活动界面

在IOS上处理方法是:

利用js注入

[webView stringByEvaluatingJavaScriptFromString:@"demo={};"];

NSString *jsMethodStr1 = [NSString stringWithFormat:@"demo.toActive();"];

NSString *jsMethodStr2 = [NSString stringWithFormat:@"demo.toMesssage();"];

[webView stringByEvaluatingJavaScriptFromString:jsMethodStr1];

[webView stringByEvaluatingJavaScriptFromString:jsMethodStr2];

代码注入后的回调代码

JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

NSString *demo =@"demo";

//消息

context[demo][@"toMesage"] = ^() {

//点击网页中消息按钮后回调

};

context[demo][@"toActive"] = ^() {

//点击网页中赛事按钮后回调

};

如果有参数的,写在块的参数列表就可以了

一段代码试例,请自行代码优化

觉得有用处的 请给个好评啊~~

文/小土炮(简书作者)

原文链接:http://www.jianshu.com/p/88c7690901b2

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

上一篇下一篇

猜你喜欢

热点阅读