0

我正在构建一个简单的浏览器,我想使用 HTML/JS/CSS 编写大部分内容。由于框架破坏,我无法使用 iframe 显示页面。我有哪些选择?

浏览器并不意味着生产质量,而是作为我论文的概念验证,类似于这个交互式模型。它需要支持的主要功能是:

  • 加载任何页面而不破坏框架(甚至 google.com),
  • 检测何时单击链接并在新框架中打开它,而原始框架保持不变。

我打算使用 Web 技术来编写它,但如果需要将它包含在少量其他东西中,例如,将它变成一个 Android 应用程序,那也没关系。但是,如果可能的话,最好将应用程序加载为网页。最后,最好能够在 Android 设备上运行该应用程序,但如果它只在桌面上运行也可以。

在研究这个问题时,我遇到了一些选择:

  1. <iframe>. Google.com 根本不会在 iframe 中加载。我尝试使用该sandbox属性,但它仍然没有加载。有没有办法解决这个问题(对于任何页面)?
  2. Mozilla 的浏览器 API。该 API 应该允许您mozbrowser在构建 FirefoxOS 应用程序时在 iframe 中使用该属性。我怀疑不再有任何方法可以访问它。我无法加载示例浏览器应用程序,而且 WebExtensions 似乎mozbrowser支持它。我错过了什么?有没有办法使这项工作?
  3. <webview>在 Chrome 应用程序中。这是迄今为止唯一有效的选择。我能够在 Chrome中下载并安装示例浏览器应用程序。一个缺点是它似乎仅限 Chrome(我更喜欢跨平台或 Firefox,其他一切都相同)。这个选项有问题吗?有什么方法可以让它在没有 Chrome 的情况下运行?
  4. 带有<webview>. 虽然此处的设置比前一个选项更复杂,但代码似乎非常相似(甚至还有一个类似的示例浏览器应用程序)。与以前相比,此选项有什么优点/缺点吗?

那么,有没有办法使选项 1 或 2 起作用?也许还有其他选择?

4

1 回答 1

0

HTML/CSS 是一种由浏览器翻译成页面的“语言”。您不能用 HTML 编写浏览器代码。最简单的解决方案是用 C# 编写代码。我不确定这是否是一个好的解决方案,但您可以尝试 Electron (nodeJS)。您只需要使用 JS/CSS/HTML。

于 2019-09-15T21:07:37.523 回答