【发布时间】:2015-12-08 17:56:41
【问题描述】:
我想使用 Greasemonkey 来突出显示两个单词,例如“巴塞尔,伯尔尼”。如果我只使用巴塞尔以下版本有效。不是很好但足够好。但是当我使用两个词时,突出显示不起作用。
// ==UserScript==
// @name highlight-some-words
// @description highlight some words in html
// @grant none
// ==/UserScript==
document.body.innerHTML= document.body.innerHTML.replace(/Basel|Bern/g, function(m){
return '<span style="background-color:lightgreen">'+m+'</span>'
});
编辑:有趣的是,该脚本适用于 stackoverflow.com,但不适用于 google.com。为什么?那么如何修改脚本呢?
【问题讨论】:
-
在搜索 Basel 和 Bern 之后在 google.com 上运行良好(通过控制台)......也许作为 GM 脚本,它正在运行为时过早
-
您可以发表评论作为答案吗?非常感谢! :)
-
您通过分配给 innerHTML 丢弃并重建整个页面,因此所有事件处理程序都将丢失。
-
@wOxxOm 提出了一个很好的观点。我会寻找一种更好的方法来做你想要实现的目标
标签: javascript html greasemonkey highlight