UIWebView与JS简单交互

2017-04-24  本文已影响14人  歪冒

      最近一直研究node.js,由于项目中用到了麦客的留言板功能,但由于项目中有麦客的logo,我怕老板审核不过,于是决定把下面的footer隐藏掉。

在iOS中在8.0之前都是用UIWebView来加载网页内容,这里也就介绍UIWebView。

要实现与JS交互,就需要利用UIWebView的一个对象方法来实现

- (nullableNSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;

1.首先在页面添加一个UIWebView

- (void)viewDidLoad {

[super viewDidLoad];

//1.初始化

_webView = [[UIWebView alloc]init];

_webView.frame = CGRectMake(0, NavBarY, Screen_W, Screen_H-NavBarY);

_webView.scalesPageToFit = YES;

_webView.delegate =self;

//2.加载网页

NSURL *url = [NSURL URLWithString:@"http://mcn.mikecrm.com/bSCqvcS"];

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url

cachePolicy:NSURLRequestReloadIgnoringLocalCacheData

timeoutInterval:60];

[_webView loadRequest:request];

运行结果显示:

在上面的图片中,屏幕最底下还有一个一块区域总是遮挡了一些内容,当WebView滑到最底下的时候,还有一个尾部,首先来去掉这个部分。

2.在写代码之前,在这里,我使用的是Chrome浏览器去检查元素。

3.实现WebView加载完毕的代理方法

#pragma mark - 加载完毕

- (void)webViewDidFinishLoad:(UIWebView *)webView{

// 去掉footer一栏

NSMutableString *str = [NSMutableString string];

// 根据标签类型获取指定标签的元素

[str appendString:@"var footer = document.getElementsByClassName(\"poweredBy\")[0];"];

[str appendString:@"footer.parentNode.removeChild(footer);"];

[webView stringByEvaluatingJavaScriptFromString:str];

}

4.好了,这里就把它隐藏了,运行结果如下

0k,就这样实现了,

上一篇下一篇

猜你喜欢

热点阅读