JS和OC交互示例(附注:屏蔽Webview长按手势)

 

关于OC和JS交互的示例如下

=======(JS调用OC)

1️⃣:首先在webview中加载如下URl:

http://qa.megatron.baidu-shucheng.com:8091/recommend?p1=appstore&p2=appstore&p3=c94be2da676c4e80bdcddcebb5b1b4a55bf233a5&p4=Apple&p5=Apple&p6=iPhone&p7=ios&p8=10.2&p9=wifi&p10=7.2.0&p11=1242&p12=2208&p13=14384827&p14=720&p15=10008&p16=a15775c58f1f28f4eaeca8ba271e16e2&p17=28EC0A6D-1B2F-43C1-8354-8DBAA3D8F488&p18=appstore

代码:

2️⃣:拦截URLRequest地址(UIWebViewDelegate 代理方法 )

通过打印结果可以看到 backurl 是一段待遇制定标识符的字符串,将他裁剪,然后JSON解析之后,就包含了一段完整的OC跳转信息。

完整的JS调用OC交互如下:

 

=======(OC调用JS)

OC调用JS都是通过这个苹果官方给的方法,来执行JS代码的

这个方面不多写啦,链接一篇网友文章:http://www.cnblogs.com/markstray/p/5757238.html

附网友Demo地址:https://github.com/webersongao/OC-JS-UIWebView

当前,上面的方法,只是简单的原理描述,在实际生产项目中还有很多地方需要优化,例如本地缓存,内存优化等。对于webview的研究也要深入更多才可以。

----> 附注:屏蔽Webview长按手势

在Webview的代理方法中重写如下:

另外网上提到在iOS 9 中这个方法失效,参看文章:http://blog.sina.com.cn/s/blog_93605e940102vwmw.html

卫博生-惜丝丝缘分,爱点滴生活!

发表评论

电子邮件地址不会被公开。 必填项已用*标注