我想开发一个扩展,它适用于来自HTTP响应的脚本。我知道整个HTML代码首先在浏览器中渲染引擎,在其中解析它以创建DOM树。嵌入内部的任何脚本都会传递给JavaScript引擎。(如果我错了,请纠正我。:)) 因此,我希望在将JavaScript代码发送到JavaScript引擎之前拦截它们,以便相应地修改它们。
是否有适用于Mozilla Firefox的API可以让我这样做?我该怎么办?
答案 0 :(得分:1)
您可以follow this answer on how to intercept each request and modify将其发送到页面本身。你可以做翻译或者你想要的任何东西。
答案 1 :(得分:1)
这允许您在解析之前修改内容。在这里看到这个主题: http://forums.mozillazine.org/viewtopic.php?f=19&t=2800541
这是一个在向用户显示内容之前获取内容的工作示例。虽然它没有改变它,这就是我在mozillazine话题中提出的问题。 writeBytes应该修改它,一旦你搞清楚,请分享我感兴趣的 https://github.com/Noitidart/demo-nsITraceableChannel
答案 2 :(得分:0)
看看这个家伙的插件代码。他完全按照你的意愿行事: https://addons.mozilla.org/en-US/firefox/addon/javascript-deminifier/
答案 3 :(得分:0)
您可以在解析HTML之前尝试入侵并获取所有标记,使用它们并将其放回去。
答案 4 :(得分:0)
...我想在Javascript引擎之前拦截这些javascript代码并相应地修改它们。有没有适用于mozilla firefox的API?我该怎么办?
您可以通过设置contentScriptWhen: "start"
然后,在完全阻止文档被解析后,您可以在侧面获取相同的文档,进行任何修改并在页面中注入生成的文档。这是一个只有https://stackoverflow.com/a/36097573/6085033
的答案