美文网首页常用组件webViewiOS Developer
IOS开发中去掉网页上广告

IOS开发中去掉网页上广告

作者: Hither | 来源:发表于2016-02-17 11:09 被阅读2096次

    在我们进行开发的时候大多时候从网上获取数据以后,用WKWebView加载出网页以后往往会有一些广告,会影响我们的APP上架。

    点击以后会弹出下面的界面:

    接下来在这个界面上移动鼠标 ,在模拟器上对应的部分就会高亮 如2016-02-16 21:42部分高亮:

    接下来就要在WKWebView中写相应的代码进行这些我们不需要部分的隐藏了。

    注意:如果不做任何处理,你将会发现进入网页以后,广告还是要存在一会儿,在网页完全就在完毕以后才会消失,所以我们需要一进入网页的时候就将网页隐藏,在网页内容加载完毕的时候再显示网页。

    _wkWebView.hidden = YES;
    
    -(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
        [webView evaluateJavaScript:@"document.getElementsByTagName('header')[0].hidden = true;
    document.getElementsByClassName('m-share')[0].hidden = true;
    document.getElementsByClassName('m-comment ui-list')[0].hidden = true;
    document.getElementsByClassName('m-down m-down-tie')[0].hidden = true;
    document.getElementsByClassName('m-video-recommond')[0].hidden = true;
    document.getElementsByClassName('m-hotnews js-hotnews-1')[0].hidden = true;
    document.getElementsByClassName('m-hotnews js-hotnews-2')[0].hidden = true;
    document.getElementsByClassName('m-vedios js-vedios')[0].hidden = true;
    document.getElementsByClassName('m-bottom-banner')[0].hidden = true;
    document.getElementById('instant-news').hidden = true;" completionHandler:^(id evaluate, NSError * error) {
            
        }];
        //redirect是跳转页面的地址中的一个关键字。进入网页以后,加载完毕以后会跳转到另外一个页面,所以我们等它跳转到加载完毕哪个页面,webView.URL的路径中包含了redirect以后,再显示网页。
        if ([webView.URL.absoluteString rangeOfString:@"redirect"].location != NSNotFound) {
            _wkWebView.hidden = NO;
            [LCLoadingHUD hideInView:self.view];
        }
    }
    

    相关文章

      网友评论

      • 孤独感爆棚:并没有效果啊
        Hither:@孤独感爆棚 没有 除非你们h5 设计的基本上一样
        孤独感爆棚:@Hither 好吧,那有没有比较通用的那种呢?
        Hither:@孤独感爆棚 在我以前的那个项目中是有效果的 方式抓的别人的接口 详情里 刚好注释这些元素 就有用 网页不同 构成元素就不同 所以在我这里 注释某些元素有用 你那里就可能不起作用

      本文标题:IOS开发中去掉网页上广告

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