gpt4 book ai didi

google-chrome-extension - 在 Chrome 扩展程序中,为什么要使用带有 HTML 的背景页面?

转载 作者:行者123 更新时间:2023-12-04 22:57:42 25 4
gpt4 key购买 nike

我了解 Chrome 扩展程序的背景页面永远不会显示。对我来说,背景页面应该只包含脚本是有道理的。在什么情况下需要 HTML 标记?

https://developer.chrome.com/extensions/background_pages有一个带有 HTML 背景页面的示例,但我无法让它工作(可能是因为我不确定它应该做什么)。

是否有任何简单的 Chrome 扩展示例来演示 HTML 标记如何在后台页面中发挥作用?

最佳答案

历史原因

从技术上讲,背景页面是一个完整的单独文档 - 除非它不在实际选项卡中呈现。

或许,为了简单起见,扩展开始时需要通过 background_page 为后台页面提供完整的 HTML 页面。显性属性(property)。那是唯一的形式。

但是,正如您的问题所证明的那样,大多数情况下,除了保存脚本之外,还不清楚页面实际上可以用于什么。这使得整个事情只是一个样板。

这就是 Chrome 引入 "manifest_version": 2 时的原因in 2012作为对扩展的大改款,他们添加了另一种格式,background.scripts大批。这会将样板文件卸载到 Chrome,然后 Chrome 将为您创建一个背景页面文档,简称为 _generated_background_page.html .

今天,这是一种首选方法,尽管 background.page仍然可用。

实际原因

综上所述,您有时仍然希望在背景页面的文档中包含实际元素。

  • <script>用于将脚本动态添加到后台页面(只要它们 conform to extension CSP )。
    除此之外,由于您不能通过 background.scripts 包含外部脚本。数组,你需要创建一个 <script>元素用于您为此目的列入白名单的人。
  • <canvas>用于准备用于其他地方的图像数据,例如在 Browser Action icons 中.
  • <audio>用于产生声音。
  • <textarea>(old-school) working with clipboard (实际上不要这样做)。
  • <iframe>用于将外部页面嵌入到后台页面中,这有时有助于提取动态数据。
  • ..可能更多。

  • 哪个样板“更好”是有争议的:提前将元素创建为文档,或使用 document.createElement和它的 friend 根据需要。

    在任何情况下,背景页面始终是一个页面,无论是由您提供还是由 Chrome 自动生成。您可以使用您想要的所有 DOM 函数。

    关于google-chrome-extension - 在 Chrome 扩展程序中,为什么要使用带有 HTML 的背景页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38298055/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com