iOS WKWebView高度自適應以及截獲頁面點擊的url

WKWebView  *wkWebview = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, 0)];
wkWebview.navigationDelegate = self;

[self.view wkWebview];

[wkWebview loadHTMLString:html/*html內(nèi)容*/ baseURL:nil];

- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecifiedWKNavigation *)navigation {

[webView evaluateJavaScript:@"document.getElementById(\"content\").offsetHeight;"completionHandler:^(id_Nullable result,NSError *_Nullable error) {

//獲取頁面高度,并重置webview的frame

CGFloat documentHeight = [resultdoubleValue];

CGRect frame = webView.frame;

frame.size.height = documentHeight;

webView.frame = frame;

}];

}

// 類似 UIWebView的 -webView: shouldStartLoadWithRequest: navigationType:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {

NSString *strRequest = [navigationAction.request.URL.absoluteStringstringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

if([strRequestisEqualToString:@"about:blank"]) {//主頁面加載內(nèi)容

decisionHandler(WKNavigationActionPolicyAllow);//允許跳轉(zhuǎn)

} else {//截獲頁面里面的鏈接點擊

//do something you want

decisionHandler(WKNavigationActionPolicyCancel);//不允許跳轉(zhuǎn)

}

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

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

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