【问题标题】:How to change the default HTML style while rendering in Android WebView如何在 Android WebView 中渲染时更改默认 HTML 样式
【发布时间】:2012-11-24 05:33:07
【问题描述】:

我正在 Android 中开发 ePub 阅读器。我正在尝试更改 HTML 中的对齐方式和文本颜色。它适用于某些 ePub 书籍,但不适用于其他书籍,因为这些书籍包含 CSS 中定义的样式。我尝试使用以下代码在 Javascript 中覆盖这些样式:

document.getElementsByTagName('body')[0].style.textAlign ='justify' !important;"

它在 Android WebView 中不起作用,但在 iPhone 中起作用。我在这里做错了什么?还有其他方法可以覆盖样式吗?请帮帮我。

【问题讨论】:

  • 那么您是在编写移动网站还是 Android 应用程序?
  • 它是一个包含 webview 来加载 html 页面的 Android 应用。

标签: javascript android webview epub


【解决方案1】:

您可以在 WebViewClient 的子类中覆盖 shouldInterceptRequest 方法。您可以使用它来拦截 CSS 加载请求并替换您自己的 CSS 数据。如果您不总是想完全替换 ePub 的 CSS,您可以使用 css 解析器(可能像 http://cssparser.sourceforge.net/)来解析,然后使用您想要的更改修改提供的 CSS。

【讨论】:

  • 感谢您的回答,抱歉回复晚了。它工作得很好,就好像我覆盖了 ShouldInterceptRequest 方法一样。但现在的问题是,如果我覆盖 css,整个 css 将被覆盖,我只需要覆盖一些样式。我无法更改 css,因为它的 drm protected.whats 解决方案?
猜你喜欢
  • 1970-01-01
  • 2016-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-21
相关资源
最近更新 更多