Google chrome extension 突出显示文本框中的文本,而不修改标记

Google chrome extension 突出显示文本框中的文本,而不修改标记,google-chrome-extension,firefox-addon,highlighting,Google Chrome Extension,Firefox Addon,Highlighting,我想知道是否有可能为浏览器编写一个扩展,它可以改变文本的颜色,或者在不修改标记的情况下转换文本(下划线、粗体等) 例如: HTML <p>Extensions use JS, and have to modify the DOM<p> 扩展使用JS,必须修改DOM 默认渲染 扩展使用JS,并且必须修改DOM 所需渲染 扩展使用JS和have来修改DOM 现在,我知道扩展可以修改DOM,为了得到我想要的东西,我可以得到如下结果: <p>Extensions

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

例如:

HTML

<p>Extensions use JS, and have to modify the DOM<p>
扩展使用JS,必须修改DOM
默认渲染

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

所需渲染

扩展使用JS和have来修改DOM

现在,我知道扩展可以修改DOM,为了得到我想要的东西,我可以得到如下结果:

<p>Extensions use JS, and <html:span style="font-weight: bold; font-style: italic;">have</html:span> to modify the DOM</p>
扩展使用JS,并且必须修改DOM

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

当前解决方案
我找到了一个适合我的问题的可行解决方案:


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

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


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

我找到了一个适合我的问题的可行解决方案:

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


这会将其从页面中拉出来,放到编辑器中,并将其同步。很好用。

好的。这就是我所好奇的。我知道Firefox上的“全部突出显示”选项不会改变标记。也许我会下载源代码,看看他们是怎么做到的。但就修改CSS以标记现有元素而言。。我认为这是行不通的,除非我可以匹配文本输入中的特定文本,并只修改它。我很好奇为什么你不想添加标记。您是否担心页面上的DOM遍历脚本会在添加额外节点时出错?或者别的什么?是的,你是对的,只注入CSS是一个很弱的解决方案,无法获得你想要的良好控制程度。好吧,我在一个环境中工作,我不想改变输入框的值,但我希望能够对其中的内容进行样式化。