UIWebView与JS的交互
2016-07-28 17:15
357 查看
-、OC->JS交互
/**
①找到要删除的对应的标签:var headerTag = document.getElementsByTagName('header')[0];
②找到要删除的标签对应的父节点:headerTag.parentNode
③从父节点中将要删除的标签移除:headerTag.parentNode.removeChild(headerTag);
*/
//- (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
通过StringByElevatingJavaScriptFromString方法把要删除的标签字符串添加给script,然后就可以通过webView对加载的网页就行修改,但是原网页是不改变的。
二、JS->OC交互
假如点击网页上的一个按钮,这个时候会执行UIWebView中的一个代理方法。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest
*)request navigationType:(UIWebViewNavigationType)navigationType;
这个方法会获取点击时这个按钮的跳转地址,可以用request.URL.absoluteString获取跳转地址的字符串,然后判断这个字符串是不是我们点击那个按钮的字符串(首先要查看网页源码,获取要点击按钮的的地址);然后比较,如果相同,就返回NO,不同就返回YES;这个就可以从网页跳转到APP原生页面。
/**
①找到要删除的对应的标签:var headerTag = document.getElementsByTagName('header')[0];
②找到要删除的标签对应的父节点:headerTag.parentNode
③从父节点中将要删除的标签移除:headerTag.parentNode.removeChild(headerTag);
*/
//- (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
通过StringByElevatingJavaScriptFromString方法把要删除的标签字符串添加给script,然后就可以通过webView对加载的网页就行修改,但是原网页是不改变的。
二、JS->OC交互
假如点击网页上的一个按钮,这个时候会执行UIWebView中的一个代理方法。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest
*)request navigationType:(UIWebViewNavigationType)navigationType;
这个方法会获取点击时这个按钮的跳转地址,可以用request.URL.absoluteString获取跳转地址的字符串,然后判断这个字符串是不是我们点击那个按钮的字符串(首先要查看网页源码,获取要点击按钮的的地址);然后比较,如果相同,就返回NO,不同就返回YES;这个就可以从网页跳转到APP原生页面。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 设计模式---状态模式在web前端中的应用
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子