在我們進(jìn)行開發(fā)的時(shí)候大多時(shí)候從網(wǎng)上獲取數(shù)據(jù)以后,用WKWebView加載出網(wǎng)頁以后往往會(huì)有一些廣告秘案,會(huì)影響我們的APP上架。
- 解決辦法:
在safari中打開網(wǎng)頁鏈接如:http://jiankang.163.com/16/0216/21/BFVQ2GS10038002S.html
點(diǎn)擊以后會(huì)彈出下面的界面:
接下來在這個(gè)界面上移動(dòng)鼠標(biāo) 潦匈,在模擬器上對(duì)應(yīng)的部分就會(huì)高亮 如2016-02-16 21:42部分高亮:
接下來就要在WKWebView中寫相應(yīng)的代碼進(jìn)行這些我們不需要部分的隱藏了阱高。
注意:如果不做任何處理,你將會(huì)發(fā)現(xiàn)進(jìn)入網(wǎng)頁以后茬缩,廣告還是要存在一會(huì)兒赤惊,在網(wǎng)頁完全就在完畢以后才會(huì)消失,所以我們需要一進(jìn)入網(wǎng)頁的時(shí)候就將網(wǎng)頁隱藏凰锡,在網(wǎng)頁內(nèi)容加載完畢的時(shí)候再顯示網(wǎng)頁未舟。
_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是跳轉(zhuǎn)頁面的地址中的一個(gè)關(guān)鍵字圈暗。進(jìn)入網(wǎng)頁以后,加載完畢以后會(huì)跳轉(zhuǎn)到另外一個(gè)頁面处面,所以我們等它跳轉(zhuǎn)到加載完畢哪個(gè)頁面厂置,webView.URL的路徑中包含了redirect以后,再顯示網(wǎng)頁魂角。
if ([webView.URL.absoluteString rangeOfString:@"redirect"].location != NSNotFound) {
_wkWebView.hidden = NO;
[LCLoadingHUD hideInView:self.view];
}
}