0

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

我从 FB 得到了这个想法。当我在阅读或评论某些内容时,FB 新闻提要自我刷新让我感到非常愤怒,然后它被推下屏幕,我找不到它,因为我的提要像 2 英里长。

但是,我不想完全关闭 JS。我希望能够设置哪些是受欢迎的功能,哪些不是。在我的书中,自我刷新和禁用后退操作是任何激怒我的网站的最粗鲁的 JS 功能。

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

但是,如果已经有这样的东西,那就太棒了,我不必重新发明轮子。

4

1 回答 1

1

如今,所有复杂的 JS 框架和库都在使用中,除了最基本的用例之外,您的计划在所有情况下都会失败。

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

您根本无法判断 JS 代码是否足够灵活以处理中断的功能或与此干预相关的后果。


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

setTimeout( function() {
    XMLHttpRequest = function(){}
    XMLHttpRequest.prototype = {
        open: function(){},
            send: function(){}
    }
}, 5000);
于 2012-12-02T21:30:20.417 回答