【发布时间】:2010-12-10 04:02:29
【问题描述】:
我想在显示之前隐藏与任何 HTML 页面中的模式匹配的任何文本。
我用 Greasemonkey 尝试过类似的东西:
var html = document.body.innerHTML;
html = html.replace( /some pattern/g, '???' );
document.body.innerHTML = html;
我要隐藏的文本已正确替换为“???”,但在页面加载的短暂时间里,我可以看到原始文本。正如 crescentfresh 所说,它无法用 Greasemonkey 修复。
我知道我可以使用像 Proximodo 这样的代理来解决它,但我更愿意避免安装它。
知道必须在 Firefox 上运行,最简单的方法是什么?
对于那些有兴趣的人,我想用它在我女朋友电脑的任何页面上隐藏价格,让她选择礼物。
【问题讨论】:
-
greasemonkey 脚本运行 DOM 已加载并准备好与之交互;这就是它的本质。考虑到您正在执行
document.body.innerHTML=...(导致非常昂贵的重绘操作),闪烁是不可避免的。 -
@crescentfresh - 你应该把它作为一个实际的答案。我会赞成。
-
看来我得安装 Poximodo...
-
@Matt:谢谢。也许 Jazz 可以简单地回答并接受 Poximodo sol'n(我不知道那是什么)。
-
最后一行+1..哦,这些程序员!!!
标签: javascript html firefox dom greasemonkey