0

我想知道是否可以为浏览器编写一个扩展来更改文本的颜色,或者在不修改标记的情况下对其进行转换(下划线、粗体等)。

举个例子:

HTML

<p>Extensions use JS, and have to modify the DOM<p>

默认渲染

扩展使用 JS,并且必须修改 DOM

所需的渲染

扩展使用 JS,并且必须修改 DOM

现在,我知道扩展可以修改 DOM,为了得到我想要的,我可以得到类似的东西:

<p>Extensions use JS, and <html:span style="font-weight: bold; font-style: italic;">have</html:span> to modify the DOM</p>

所以,我想要做的根本不是改变标记。这类似于您在页面上执行“查找”时获得的“突出显示所有”功能。

当前解决方案

我找到了一个适合我的问题的可行解决方案的扩展: 全是文本!

虽然我仍然希望在不修改标记的情况下突出显示本机浏览器,但这会很好。

4

2 回答 2

0

您可以注入 CSS 以使现有标记的行为有所不同(例如,p { font-weight:bold; }将所有元素加粗<p>,或.foo { background-color: green }使用类更改所有元素foo等),但几乎可以肯定没有扩展级别的方法来完成您想要的。如果要修改页面上的任意文本,则必须修改页面的标记。

做你想做的事情的唯一方法是破解一些低级代码并实际重写 WebKit 和 Gecko 的部分内容,以便 HTML 的呈现方式与应有的不同。

于 2012-09-12T03:52:00.180 回答
0

I found an extension which fits as a viable solution to my problem: It's All Text!

While I would still like to have native browser highlighting, without modifying the markup, this will do fine.

This pulls it out of the page, into an editor, and syncs them up. Works beautifully.

于 2012-10-24T19:47:44.497 回答