【问题标题】:webview loadDataWithBaseUrl not loading page with formattingwebview loadDataWithBaseUrl没有加载带有格式的页面
【发布时间】:2015-05-26 21:19:02
【问题描述】:

我有一个动态接收的 html 页面,我用自己的文本替换了正文。然后我使用 loadDataWithBaseUrl 将它传递给 webview,它显示了我替换的文本,但有格式。

整个想法是从服务器获取带有 css 和 js 的页面,我只将正确的文本注入到位置“X”的正文中(我正在替换一个令牌字符串)。不幸的是,webview 显示的页面没有任何 css 或其他格式:

这就是我加载带有完整 html 和 js 文本的 webview 的方式

mContenetWebView.loadDataWithBaseURL(null, text, "text/html", "UTF-8", null);

请任何帮助,因为我不知道我在这里做错了什么。

【问题讨论】:

  • 我认为问题在于 css 和 js 文件在 html 文件中被引用为绝对文件路径。因此,当您下载网页内容 html 并将您自己的文本注入其中时,您的文件现在正在尝试引用不存在的本地 css 和 js 文件。尝试下载带有基本 html 文件的 css 和 js 文件?

标签: android android-webview


【解决方案1】:

如果 CSS、JS 等是通过相对路径引用的,请将您的 loadDataWithBaseURL() 调用中的 null 替换为您从中加载 HTML 的实际 URL。否则,WebView 无法解析这些相对路径。

【讨论】:

  • 我不认为是这种情况 - 我的问题是它删除了“新行”间距并显示一个长字符串而不是具有正确间距和段落的字符串
猜你喜欢
  • 2016-01-31
  • 2017-07-03
  • 1970-01-01
  • 2014-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多