Javascript Firefox插件,用于定制特定URL的JS功能

Javascript Firefox插件,用于定制特定URL的JS功能,javascript,firefox,firefox-addon,Javascript,Firefox,Firefox Addon,我想知道是否有可能编写一个FF插件,一旦加载了某个页面,它将生成所有JS函数的列表,并为用户提供禁用或保持启用某个函数的选项 我是从FB那里得到这个主意的。当我正在阅读或评论一些东西,然后它被推到屏幕上,我找不到它,因为我的饲料像2米长。 但是,我不想完全关闭JS。我希望能够设置哪些是受欢迎的函数,哪些不是。在我的书中,对于任何让我恼火的网站来说,自我刷新和禁用返回操作是最粗鲁的JS功能 这种设想的插件将保存特定URL的首选项,以便在重新访问时加载它们,就像cookie一样 然而,如果已经有类似

我想知道是否有可能编写一个FF插件,一旦加载了某个页面,它将生成所有JS函数的列表,并为用户提供禁用或保持启用某个函数的选项

我是从FB那里得到这个主意的。当我正在阅读或评论一些东西,然后它被推到屏幕上,我找不到它,因为我的饲料像2米长。 但是,我不想完全关闭JS。我希望能够设置哪些是受欢迎的函数,哪些不是。在我的书中,对于任何让我恼火的网站来说,自我刷新和禁用返回操作是最粗鲁的JS功能

这种设想的插件将保存特定URL的首选项,以便在重新访问时加载它们,就像cookie一样


然而,如果已经有类似的东西了,那就太棒了,我就不必重新发明轮子了。

如今,所有复杂的JS框架和库都在使用,你的计划除了最基本的用例之外,在所有方面都会失败

禁用一个你并不完全了解它的功能会产生奇怪的后果。这变得更加困难,因为许多函数在完成时返回值。因此,后续代码可能会中断或无法正确执行

您根本无法判断JS代码是否足够灵活,能够处理中断的函数,或者这种干预会带来什么后果


在您的特殊facebook用例中,仅禁用XHR请求就足够了。我注意到“pull”请求与新闻提要刷新有关。您可以编写一个GreaseMonkey脚本,在启动后一段时间内覆盖本机XHR对象:

setTimeout( function() {
    XMLHttpRequest = function(){}
    XMLHttpRequest.prototype = {
        open: function(){},
            send: function(){}
    }
}, 5000);

您可以通过执行
*.prototype.functionYouWantToDisable=null
来重写/禁用方法。对于清单部分,我真的不知道。或者不知道,更好的
…=函数(){}
。否则会出现错误,并且根本不会执行JS。但是您仍然需要模拟返回值,或者->错误。。。这不可能/真的很难。