美文网首页
如何删除某些商城页面的弹窗广告?

如何删除某些商城页面的弹窗广告?

作者: 蛮小刀 | 来源:发表于2015-10-12 16:03 被阅读648次

    在商城项目中,如果使用到了天猫、京东或者是淘宝的页面,在手机端会弹出一个App的广告,在上传AppStore时会被打回(哎……很无奈啊,毕竟是人家的东西),所以在加载这些HTML时,要设法删除掉或者隐藏掉这些东西。

    删除这些,我所知道的有两种方式(本人才疏学浅啊):

    • className或者id固定不变的,通过document.getElementsByClassName获得className或者通过document.getElementById获得需要删除的id的节点,执行remove或者hidden。例如:
    //天猫
        [self.webview stringByEvaluatingJavaScriptFromString: @"document.getElementsByClassName('smart-banner')[0].remove();"];
        [self.webview stringByEvaluatingJavaScriptFromString: @"document.getElementById('detail-smart-banner').style.visibility='hidden';document.getElementById('detail-smart-banner').style.display='none';"];
        [self.webview stringByEvaluatingJavaScriptFromString: @"document.getElementsByClassName('text-box mui-flex vertical')[0].remove();"];
    
        //轮播图天猫
        [self.webview stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('mui-bottom-smart-banner')[0].remove();"];
        
        // 京东
        [self.webview stringByEvaluatingJavaScriptFromString: @"document.getElementsByClassName('tryme')[0].remove();"];
    
        //蜜芽网下载链接删除
        [self.webview stringByEvaluatingJavaScriptFromString: @"document.getElementsByClassName('app_down appdtop_wrap')[0].remove();"];
    
    • className或者id不固定的,不同通过单一内容获得需要删除或者隐藏的节点,所以可以找到其父节点,在父节点内部匹配到相对应的结构的内容,执行删除或者隐藏,例如:
        //淘宝
        [self.webview stringByEvaluatingJavaScriptFromString:@"var a = document.createElement('style');a.innerHTML = '[id][class][style=\"display: block;\"]{display:none!important;}body{padding-top:0!important;}';document.body.appendChild(a);"];
    

    相关文章

      网友评论

          本文标题:如何删除某些商城页面的弹窗广告?

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