Android与ios如何获取webview页面中的网页title及description?
网友回复
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标签