当WebView加载的是非HTML网页内容时,如何获取它的内容?

在iOS平台中,我们直接使用webview加载一段JS代码即可:

NSString *myText = [webView stringByEvaluatingJavaScriptFromString:@";document.documentElement.textContent"];

Swift:

webView.stringByEvaluatingJavaScriptFromString("document.documentElement.textContent")

注:在webViewDidFinishLoad中调用这段代码。

在Android中,因为加载JS代码也是通过loadUrl()方法来调用,loadUrl()是没有返回值的,因此不能像iOS一样直接获取,但是有一个小技巧:

1.在onPageFinished中调用:

webView.loadUrl("javascript:alert(document.documentElement.textContent)");

2.接着在onJsAlert中处理即可,参数message就是你要的数据了。

时间: 2024-10-09 07:23:08

当WebView加载的是非HTML网页内容时,如何获取它的内容?的相关文章

iOS 利用webView加载html代码,在代理中获取html页面的链接时出现的问题

getDetailWebview.loadHTMLString(webViewData as String, baseURL:NSURL(string: "\(ProBaseWeb)")) 当用webView的loadHEMLString方法加载html代码时,必须设置baseURL,否则执行代理方法获取页面链接URL时得到的URL会在前部自动天剑如下字段: applewebdata://C97726ED-D607-4CD6-A49C-A86E8598E421/:如果获取的url是一个

Android中webview加载网页无法点击或滚动

由于工作忙,很久没写博客了,今天就先来一篇吧,这也是项目中遇到的问题. 如题,webview加载网页,但是网页内容无法滚动和点击,且网页内容也没有正常全部展示,主要是因为没有正确setting而已,解决访求如下: WebSettings s = webview.getSettings(); s.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS); s.setUseWideViewPort(true); s.setLoadW

WebView 加载网页和java 与js交互

[mw_shl_code=java,true]WebView是一个可以显示网页的控件.需求:通过WebView加载assets下的html文件.实现页面的缩放.向menu键添加:前进.后退和刷新,实现对网页的操作点击网页中的链接,仍然使用本WebView浏览器,而非调用系统的浏览器网页中有button,点击button,调用android的Toast点击WebView隐藏地址栏和button,点击menu键显示地址栏和button.WebView加载网页的方式WebView webview =

iOS WebView 加载本地资源(图片,文件等)

NSString *path = [[NSBundle mainBundle] pathForResource:@"关于.docx" ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path]; NSLog(@"%@", [self mimeType:url]); //webview加载本地文件,可以使用加载数据的方式 //第一个诶参数是一个NSData, 本地文件对应的数据 //第二个参数是MIMEType //第

WebView加载HTML图片大小自适应与文章自动换行

http://www.brighttj.com/ios/ios-webview-load-html-image-adaptive.html 在很多App中都会使用到webview,尤其是在加载新闻内容等文章形式的数据时.因为图文混编以及不同字体格式的显示,在iOS进行编辑和显示都是一大问题(当然,iOS中也可以用CoreText进行绘制),但是对于web端来说,一个富文本编辑器就可以完美解决这个问题.所以后台很多时候会直接返回HTML代码拿给前端解析,这时,在客户端对HTML代码的处理就显得尤为

ios navigationcontroller 滑动返回与webview加载html图片自适应屏幕宽度

1 .ios navigationcontroller 滑动返回 滑动返回是navigationcontroller默认返回按钮自带的功能,如果返回按钮自定义该功能失效, 解决的办法有两个: ① self.navigationItem.backBarButtonItem =   [[UIBarButtonItem alloc]initWithCustomView:button];//这个方法用不了 只能用 self.navigationItem.backBarButtonItem = [ [UI

Android WebView加载Chromium动态库的过程分析

Chromium动态库的体积比较大,有27M左右,其中程序段和数据段分别占据25.65M和1.35M.如果按照通常方式加载Chromium动态库,那么当有N个正在运行的App使用WebView时,系统需要为Chromium动态库分配的内存为(25.65 + N x 1.35)M.这是非常可观的.为此,Android使用了特殊的方式加载Chromium动态库.本文接下来就详细分析这种特殊的加载方式. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! 为什么当有

webview加载html5的问题

WebSettings ws = mViewHolder.contentWbv.getSettings(); /** * setAllowFileAccess 启用或禁止WebView访问文件数据 setBlockNetworkImage 是否显示网络图像 * setBuiltInZoomControls 设置是否支持缩放 setCacheMode 设置缓冲的模式 * setDefaultFontSize 设置默认的字体大小 setDefaultTextEncodingName 设置在解码时使用

android studio创建assets目录并且利用webView加载其html

1.在Android Studio中添加assets目录,首先调整成project模式 在main的目录下新建一文件夹叫:assets .  WebView\src\main\assets 在项目的WebView.iml中加入: <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" /> 2.在利用webView加载html文件 <span style="w