+
81
-

Android与ios如何获取webview页面中的网页title及description?

Android与ios如何获取webview页面中的网页title及description?

网友回复

+
0
-

 Android 的话是这样的

1. 使能javascript:

webView.getSettings().setJavaScriptEnabled(true);
2. 编写本地接口
final class InJavaScriptLocalObj {
public void showSource(String html) {
Log.d("HTML", html);
}
}
3. 向网页暴露本地接口
webView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");
4. 编写自己的WebViewClient,并在onPageFinished中提取网页源码。
final class MyWebViewClient extends WebViewClient{ 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
view.loadUrl(url); 
return true; 
} 
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.d("WebView","onPageStarted");
super.onPageStarted(view, url, favicon);
} 
public void onPageFinished(WebView view, String url) {
Log.d("WebView","onPageFinished ");
view.loadUrl("BfwJavascriptwindow.local_obj.showSource('<head>'+" +
"document.getElementsByTagName('html')[0].innerHTML+'</head>');");
super.onPageFinished(view, url);
}
}

Ios是这样的

#pragma WebViewDelegate
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *JsToGetHTMLSource = @"document.getElementsByTagName('html')[0].innerHTML";
    NSString *HTMLSource = [webView stringByEvaluatingJavaScriptFromString:JsToGetHTMLSource];
    NSLog(@"%@",HTMLSource);
}

然后正则匹配,获取title及description标签

我知道答案,我要回答