在显示任何HTML页面之前替换它们

时间:2009-10-26 15:03:20

标签: javascript html firefox dom greasemonkey

我希望在显示任何HTML页面之前隐藏任何与模式匹配的文本。

我用Greasemonkey尝试了类似的东西:

var html = document.body.innerHTML;
html = html.replace( /some pattern/g, '???' );
document.body.innerHTML = html;

我要隐藏的文本被'???'正确替换,但是在加载页面的短暂时间内,我可以看到原始文本。正如crescentfresh所说,用Greasemonkey无法修复它。

我知道我可以使用像Proximodo之类的代理来解决它,但我更愿意避免安装它。

最简单的方法是什么,知道它必须适用于Firefox?

对于那些感兴趣的人,我想用它来隐藏我女朋友电脑上任何页面的价格,让她选择礼物。

1 个答案:

答案 0 :(得分:2)

通过扩展你可以做到。

我不记得确切,但LiveHttpHeaders可能会在访问浏览器之前捕获http流量,从而使您能够删除所需内容。

此外,如果不是等待整个页面加载而是在DOMNodeInserted事件中替换它,它可能足够快,不能显示实际内容。

另外,如果您之前从未做过Firefox扩展,请不要惊慌!甚至有greasemonkey extension compiler可以完成肮脏的工作,并为您提供良好的基础。我会这样做,然后寻找一个window.onload事件,在那里,而不是greasemonkey代码,将DOMNodeInserted事件附加到文档中。

另外(第四次编辑!),她真正想要的是你读她的想法并选择她想要的礼物XD