UIWebView與JS簡(jiǎn)單交互

? ? ? 最近一直研究node.js,由于項(xiàng)目中用到了麥客的留言板功能,但由于項(xiàng)目中有麥客的logo,我怕老板審核不過(guò),于是決定把下面的footer隱藏掉。

在iOS中在8.0之前都是用UIWebView來(lái)加載網(wǎng)頁(yè)內(nèi)容,這里也就介紹UIWebView。

要實(shí)現(xiàn)與JS交互,就需要利用UIWebView的一個(gè)對(duì)象方法來(lái)實(shí)現(xiàn)

- (nullableNSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;

1.首先在頁(yè)面添加一個(gè)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.加載網(wǎng)頁(yè)

NSURL *url = [NSURL URLWithString:@"http://mcn.mikecrm.com/bSCqvcS"];

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url

cachePolicy:NSURLRequestReloadIgnoringLocalCacheData

timeoutInterval:60];

[_webView loadRequest:request];

運(yùn)行結(jié)果顯示:


在上面的圖片中,屏幕最底下還有一個(gè)一塊區(qū)域總是遮擋了一些內(nèi)容,當(dāng)WebView滑到最底下的時(shí)候,還有一個(gè)尾部,首先來(lái)去掉這個(gè)部分。

2.在寫(xiě)代碼之前,在這里,我使用的是Chrome瀏覽器去檢查元素。

3.實(shí)現(xiàn)WebView加載完畢的代理方法

#pragma mark - 加載完畢

- (void)webViewDidFinishLoad:(UIWebView *)webView{

// 去掉footer一欄

NSMutableString *str = [NSMutableString string];

// 根據(jù)標(biāo)簽類(lèi)型獲取指定標(biāo)簽的元素

[str appendString:@"var footer = document.getElementsByClassName(\"poweredBy\")[0];"];

[str appendString:@"footer.parentNode.removeChild(footer);"];

[webView stringByEvaluatingJavaScriptFromString:str];

}

4.好了,這里就把它隱藏了,運(yùn)行結(jié)果如下


0k,就這樣實(shí)現(xiàn)了,




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容