【问题标题】:Android embed firefox browser in applicationAndroid 在应用程序中嵌入 firefox 浏览器
【发布时间】:2012-02-07 07:07:02
【问题描述】:

这有点像在黑暗中拍摄,但是...我知道我们已经暴露了WebView。我想知道我们是否可以在 Android 应用中使用/嵌入 firefox 的渲染器?

我有一个.mht 文件,它在安卓默认浏览器、dolphin 或opera 中都不起作用。但神秘地在 Firefox 移动版中运行。

有什么办法可以做到吗?

【问题讨论】:

  • 最好将 .mht 转换为更流行的格式,例如 .html
  • 相信这个答案 [在 android 中,如何强制使用特定浏览器打开 URI,而不弹出“选择浏览器”列表?][1] [1]:stackoverflow.com/questions/6788395/…跨度>
  • 试试这个答案 [在 android 中,如何使用特定浏览器强制打开 URI,而不弹出“选择浏览器”列表?][1] [1]:stackoverflow.com/questions/6788395/…跨度>

标签: android firefox embed android-webview


【解决方案1】:

所以,移动版 Firefox 的"features"-site 为:

移动版 Firefox 与桌面版基于相同的浏览器引擎构建 版本,但针对在移动设备上的浏览进行了优化。

由于桌面版 Firefox 使用 Mozilla 自己的Gecko-engine 进行渲染,所以就是这样。

docs 介绍了如何将 Gecko 引擎嵌入到您的项目中(还有一个较早的问题:How can I embed firefox in a GUI application?),但它们的目标是在桌面应用程序中使用(通常有更多资源可供使用)而不是可用作 Java 库/绑定。

由于 Mozilla 是一家开源公司,Mobile Firefox 的源代码是公开的,构建说明可以在 here 找到。尽管您可以尝试一下,看看是否可以仅隔离渲染引擎部分以在您的应用程序中使用它。

另一种选择是将所有这些文件(捆绑在您的.mht-文件中)放在/res/raw-文件夹中,并与普通的WebView 一起使用。

【讨论】:

  • 是的,我实际上已经将 .mht 反编译为它的资产。主要问题是这个 Web 应用程序使用 XMLHttpRequest 对象来加载本地资源,并且所有浏览器都会阻止它——即使原始脚本是本地的。 Firefox 和 IE 似乎是唯一允许在本地执行此操作的主要浏览器。 IE 在 Android 上是不可能的,所以我想到了 Firefox Mobile。如果客户端允许我编辑 webapp 并包含 ajax 加载的资源,那就太好了;但对于这个解决方案,我需要按原样运行 webapp。
  • 为什么需要用 AJAX 加载本地资源?
  • (不可编辑的).mht webapp 使用 ajax 加载一些资源,一旦转换为 mht,即使解压后,一切都变成本地的。
猜你喜欢
  • 2011-02-07
  • 2013-01-10
  • 2011-01-02
  • 1970-01-01
  • 2010-10-30
  • 2016-12-29
  • 2011-11-27
  • 2020-02-04
  • 1970-01-01
相关资源
最近更新 更多