我想知道是否有可能为浏览器编写扩展名来改变文本的颜色,或者在不修改标记的情况下对其进行转换(下划线,粗体等)。
举个例子:
HTML
<p>Extensions use JS, and have to modify the DOM<p>
默认渲染
扩展使用JS,并且必须修改DOM
所需的渲染
扩展使用JS, 来修改DOM
现在,我知道Extensions可以修改DOM,并获得我想要的东西,我可以得到类似的东西:
<p>Extensions use JS, and <html:span style="font-weight: bold; font-style: italic;">have</html:span> to modify the DOM</p>
所以,我要做的就是不要改变标记。这类似于在页面上进行“查找”时获得的“突出显示全部”功能。
我找到了一个适合我问题的可行解决方案: It's All Text!
虽然我仍希望原生浏览器突出显示,而不修改标记,但这样做会很好。
答案 0 :(得分:0)
您可以注入CSS以使现有标记的行为不同(例如,p { font-weight:bold; }
加粗所有<p>
元素,或.foo { background-color: green }
以更改foo
类的所有元素,等),但几乎肯定没有扩展级别的方式来实现你想要的。如果要修改页面上的任意文本,则必须修改页面的标记。
执行所需操作的唯一方法是破解一些低级代码并实际重写WebKit和Gecko的部分内容,以便HTML的呈现方式与应有的不同。
答案 1 :(得分:0)