我正在构建一个简单的浏览器,我想使用 HTML/JS/CSS 编写大部分内容。由于框架破坏,我无法使用 iframe 显示页面。我有哪些选择?
浏览器并不意味着生产质量,而是作为我论文的概念验证,类似于这个交互式模型。它需要支持的主要功能是:
- 加载任何页面而不破坏框架(甚至 google.com),
- 检测何时单击链接并在新框架中打开它,而原始框架保持不变。
我打算使用 Web 技术来编写它,但如果需要将它包含在少量其他东西中,例如,将它变成一个 Android 应用程序,那也没关系。但是,如果可能的话,最好将应用程序加载为网页。最后,最好能够在 Android 设备上运行该应用程序,但如果它只在桌面上运行也可以。
在研究这个问题时,我遇到了一些选择:
<iframe>
. Google.com 根本不会在 iframe 中加载。我尝试使用该sandbox
属性,但它仍然没有加载。有没有办法解决这个问题(对于任何页面)?- Mozilla 的浏览器 API。该 API 应该允许您
mozbrowser
在构建 FirefoxOS 应用程序时在 iframe 中使用该属性。我怀疑不再有任何方法可以访问它。我无法加载示例浏览器应用程序,而且 WebExtensions 似乎mozbrowser
不支持它。我错过了什么?有没有办法使这项工作? <webview>
在 Chrome 应用程序中。这是迄今为止唯一有效的选择。我能够在 Chrome中下载并安装示例浏览器应用程序。一个缺点是它似乎仅限 Chrome(我更喜欢跨平台或 Firefox,其他一切都相同)。这个选项有问题吗?有什么方法可以让它在没有 Chrome 的情况下运行?- 带有
<webview>
. 虽然此处的设置比前一个选项更复杂,但代码似乎非常相似(甚至还有一个类似的示例浏览器应用程序)。与以前相比,此选项有什么优点/缺点吗?
那么,有没有办法使选项 1 或 2 起作用?也许还有其他选择?