2

我正在开发一个适用于所有网页的 chrome 扩展程序。作为其功能的一部分,它需要在任何给定页面上显示 UI。

目前,为此,我从内容脚本将一个 div(包含 UI HTML)附加到页面。这样做的问题是包含页面的样式被应用到扩展程序的 UI,导致它在不同的网页上看起来不同。

解决此问题的两种方法:

  1. 为扩展的 UI 元素应用特定样式(标记为 !important)。这真的很难,因为根据页面,任何元素的任何属性都可以有不同的值。

  2. 将此 UI 添加到 iframe,并将其插入页面。当然,这解决了方法 1 的 CSS 问题。但是我之前在扩展的上下文中使用 iframe 的工作不多,我想知道是否有任何我应该注意的问题。

想到的一些潜在问题: 1. 与 iframe js 交互的内容脚本可能很复杂。2. 某些用户可能在特定或所有网站的浏览器级别禁用了 iframe?

通常,出于安全和性能(以及其他原因)的原因,不赞成使用 iframe。我想知道在这种情况下,使用 iframe 是否是最明智的选择?

另外,我打算稍后将扩展移植到 Firefox。这可能无关紧要,但只是把它放在那里以防它有助于倾斜决定。

4

0 回答 0