`
wanggp
  • 浏览: 149656 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

WebView中loadDataWithBaseURL与loadData加载本地html困惑

 
阅读更多

      当使用webView.loadData(bodyBuffer.toString(), "text/html", "utf-8")加载本地的html代码时,如果html代码中%,则页面不能显示,显示为web page not availableness.而使用webView.loadDataWithBaseURL("about:blank",bodyBuffer.toString(), "text/html", "utf-8",null);即可正常加载,不知道为什么?期待找到正解。

分享到:
评论
1 楼 tracy061 2012-08-01  
    loadData:

public void loadData (String data, String mimeType, String encoding)
Load the given data into the WebView. This will load the data into WebView using the data: scheme. Content loaded through this mechanism does not have the ability to load content from the network.

Parameters
data A String of data in the given encoding. The date must be URI-escaped -- '#', '%', '\', '?' should be replaced by %23, %25, %27, %3f respectively.
mimeType The MIMEType of the data. i.e. text/html, image/jpeg
encoding The encoding of the data. i.e. utf-8, base64


下如API中所说的,

       data:是要加载的数据类型,但在数据里面不能出现英文字符:'#', '%', '\' , '?' 这四个字符,如果有的话可以用 %23, %25, %27, %3f,这些字符来替换,在平时测试时,你的数据时,你的数据里含有这些字符,但不会出问题,当出问题时,你可以替换下。

        %,会报找不到页面错误,页面全是乱码。乱码样式见符件。

        #,会让你的goBack失效,但canGoBAck是可以使用的。于是就会产生返回按钮生效,但不能返回的情况。

        \ 和? 我在转换时,会报错,因为它会把\当作转义符来使用,如果用两级转义,也不生效,我是对它无语了。



以上转自:http://bbs.chinaunix.net/thread-3617508-1-1.html

因为%在loadData中是非法字符。
希望对您有用

相关推荐

    android Webview加载本地图片,自适应布局大小

    我们可以通过调用WebView的`loadUrl()`方法加载HTML内容,或者使用`loadData()`或`loadDataWithBaseURL()`方法加载自定义的数据。在加载本地图片时,通常我们会使用HTML字符串来构建页面,并在HTML中引用图片的本地...

    webview加载html文本以及PDF加载

    2. **加载HTML文本**:可以通过`loadData()`或`loadDataWithBaseURL()`方法来加载本地或网络的HTML文本。例如,可以创建一个包含文本和图片的字符串,然后使用`loadData()`加载。同时,可以调整字体大小,这通常通过...

    Android WebView加载本地的网页源码显示

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。本文将深入探讨如何使用Android的WebView来加载本地的网页源码,并展示一个简单的实例——Demo2。 首先,...

    关于Android WebView的loadData方法的注意事项分析

    `loadData()`是WebView提供的一种加载HTML数据的方法,但使用时需要注意一些细节,特别是关于特殊字符的处理。本篇文章将深入探讨`loadData()`方法的注意事项,并提供解决策略。 当使用`loadData()`加载包含特殊...

    webview 加载js ,css

    Android的WebView可以通过调用`loadData()`或`loadDataWithBaseURL()`方法加载HTML字符串,或者使用`loadUrl()`方法加载网络上的HTML资源。例如: ```java webView.loadUrl("file:///android_asset/index.html")...

    WebView加载html,javascript,url

    - 加载HTML内容:调用WebView的loadData()或loadDataWithBaseURL()方法加载本地或远程HTML内容。loadData()适用于简单的HTML字符串,而loadDataWithBaseURL()允许指定一个基URL,用于解析相对URL。 2. **加载网页*...

    Android平台下,将Html文本转换为PDF格式并输出

    我们可以通过`WebView`的`loadData()`或`loadDataWithBaseURL()`方法加载HTML字符串,然后使用`WebView`的`WebViewPrintJob`接口来生成PDF。 以下是一个基本的步骤概述: 1. 创建`WebView`实例并设置必要的属性,...

    webview加载html,播放音视频,响应js事件

    要在WebView中展示HTML,可以使用`loadData()`或`loadDataWithBaseURL()`方法。如果是加载本地HTML文件,通常会配合`file:///android_asset/`前缀,因为Android将应用的assets目录作为资源根路径。 3. **HTML中的...

    WebView的使用Demo

    4. 加载本地HTML资源:如果内容是本地的HTML文件,可以使用`loadDataWithBaseURL()`或`loadData()`方法加载,这样可以提高加载速度。 六、常见问题处理 1. 页面加载慢:检查网络状况,优化页面内容,减少HTTP请求...

    webview显示图片并下载

    但是,如果图片来源于本地,我们可以通过`loadDataWithBaseURL()`或`loadData()`方法加载HTML字符串来显示图片。例如: ```java String html = "<img src='file:///android_asset/image.jpg'/>"; // 本地图片路径 ...

    WebView简单使用Demo

    - 可以使用`loadDataWithBaseURL`或`loadData`方法加载本地的HTML字符串或文件: ```java String htmlContent = "<html><body><h1>Hello, World!</h1></body></html>"; webView.loadDataWithBaseURL(null, ...

    webview的简单样例

    如果要加载本地的HTML文件,可以使用`loadDataWithBaseURL()`或`loadData()`方法: ```java webView.loadDataWithBaseURL(null, "<html><body><h1>Hello, World!</h1></body></html>", "text/html", "UTF-8", ...

    Android中使用WebView显示网页

    webView.loadData(htmlContent, "text/html", "UTF-8"); ``` 4. **启用JavaScript** 默认情况下,WebView禁用了JavaScript。为了使网页中的JavaScript代码能够运行,需要启用JavaScript支持。这可以通过调用`...

    Android中WebView使用

    如果需要加载本地HTML文件,可以使用`loadDataWithBaseURL()`或`loadData()`方法。 为了处理点击链接、回退等行为,我们可以重写WebViewClient: ```java webView.setWebViewClient(new WebViewClient() { @...

    WebView入门小例子

    - 可以使用loadData()或loadDataWithBaseURL()方法加载本地HTML字符串或基于特定基URL的HTML数据。 3. **WebViewClient与WebChromeClient**: - **WebViewClient**:主要用于控制页面的加载过程,如onPageStarted...

    android webview demo

    - **本地HTML**:除了加载远程URL,WebView还可以通过`loadDataWithBaseURL()`或`loadData()`方法加载本地存储的HTML内容。 - **用户交互**:支持点击链接、表单提交等常见的网页交互。 **2. 配置WebView** - **...

    webview渲染HT ML标签字符串

    3. **加载HTML字符串**:在Android中,可以使用WebView的`loadData()`或`loadDataWithBaseURL()`方法来加载HTML字符串。`loadData()`需要三个参数:HTML字符串、MIME类型(通常是"text/html")和字符集(如"UTF-8")...

    webview 资源整合demo

    - 可以使用`loadDataWithBaseURL()`或`loadData()`方法加载本地存储的HTML文件,或者直接引用文件系统的路径。 8. **调试支持**: - Android Studio提供了内置的WebView调试工具,通过`chrome://inspect`可以远程...

    webview 实例

    - **loadData**: 如果需要加载自定义的 HTML 数据,可以使用 `loadData` 或 `loadDataWithBaseURL` 方法。 4. **JavaScript 交互** - **启用 JavaScript**: 通过 `getSettings().setJavaScriptEnabled(true)` ...

Global site tag (gtag.js) - Google Analytics