在商城項(xiàng)目中聚假,如果使用到了天貓块蚌、京東或者是淘寶的頁面,在手機(jī)端會彈出一個App的廣告膘格,在上傳AppStore時會被打回(哎……很無奈啊峭范,畢竟是人家的東西),所以在加載這些HTML時瘪贱,要設(shè)法刪除掉或者隱藏掉這些東西纱控。
刪除這些,我所知道的有兩種方式(本人才疏學(xué)淺安饲亍):
- className或者id固定不變的甜害,通過document.getElementsByClassName獲得className或者通過document.getElementById獲得需要刪除的id的節(jié)點(diǎn),執(zhí)行remove或者h(yuǎn)idden球昨。例如:
//天貓
[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();"];
//蜜芽網(wǎng)下載鏈接刪除
[self.webview stringByEvaluatingJavaScriptFromString: @"document.getElementsByClassName('app_down appdtop_wrap')[0].remove();"];
- className或者id不固定的尔店,不同通過單一內(nèi)容獲得需要刪除或者隱藏的節(jié)點(diǎn),所以可以找到其父節(jié)點(diǎn)嚣州,在父節(jié)點(diǎn)內(nèi)部匹配到相對應(yīng)的結(jié)構(gòu)的內(nèi)容,執(zhí)行刪除或者隱藏共螺,例如:
//淘寶
[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);"];