美文网首页
UIWebView与JS简单交互

UIWebView与JS简单交互

作者: 歪冒 | 来源:发表于2017-04-24 10:48 被阅读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,就这样实现了,

    相关文章

      网友评论

          本文标题:UIWebView与JS简单交互

          本文链接:https://www.haomeiwen.com/subject/puiuzttx.html