【问题标题】:How do I run a script after internal scripts are fully loaded?内部脚本完全加载后如何运行脚本?
【发布时间】:2012-08-28 07:38:47
【问题描述】:

我正在尝试在 Facebook 侧边栏聊天列表中隐藏特定的人。

我的第一次尝试是尝试替换聊天栏中的用户名,但简单的.replace 不起作用,因为聊天栏是单独加载的,并且在页面本身加载很久之后。

聊天加载后有什么方法可以运行 Greasemonkey 脚本吗?

我听说过一些关于 unsafeWindow 功能的信息,但我不确定我是否可以在这里应用它,如果可以,如何应用。

unsafeWindow.hidePerson = function() {
    document.body.innerHTML = document.body.innerHTML.replace(/Firstname Lastname/g, '' );
}

unsafeWindow.hidePerson();

【问题讨论】:

    标签: javascript facebook greasemonkey facebook-chat


    【解决方案1】:

    回答“内部脚本完全加载后运行脚本”的问题,见this answer(问题场景与AJAX场景相同)。


    但是,你的情况有几件事:

    1. 您的问题“I'm trying to hide specific people in the Facebook sidebar chat list”已被 Facebook 覆盖!

      "Can I turn chat on for just a few friends?"
      按照那里的说明,您可以:

      • 只隐藏您指定的人
      • 或者,只显示你指定的人
      • 或者,完全关闭聊天

    2. 不要尝试像那样设置innerHTML;您将破坏页面(事件侦听器将被丢弃等)。

    3. unsafeWindow 在这里不是问题,也不需要。

    4. 如果您的意思是我没有涵盖的内容,请参阅 this pagethis pagethis page

      然后编辑您的问题(或提出新问题),并至少包含您想要影响的聊天部分的 HTML sn-p 以及相同的屏幕截图。

    【讨论】:

    • 感谢 Brock 非常彻底的回答!即使我不需要在这里应用所有帮助,您的帮助也会非常有用:)
    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 2019-03-31
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多