代码之家  ›  专栏  ›  技术社区  ›  GregH

在加载另一个gm脚本之后加载我的greasemonkey脚本

  •  0
  • GregH  · 技术社区  · 15 年前

    我在一个特定的URL上加载了两个greasemonkey脚本。如何确保我的第二个gm脚本在第一个gm脚本完成构建它的页面元素之前不会加载。另外,如何控制gm脚本加载/运行的顺序?

    2 回复  |  直到 15 年前
        1
  •  1
  •   YOU    15 年前

    在Greasemonkey的“管理用户脚本”界面中选择脚本名,按住alt键并按down键直到最后一个。

    实际上,该用户界面中有一条提示消息

    用鼠标或按键拖放 alt up/alt down在中重新排序脚本 这份名单

        2
  •  1
  •   Community CDub    8 年前

    S.Mark described 如何在greasemonkey脚本管理界面中管理执行顺序,这是它的一部分。但不能保证脚本1会在脚本2开始之前完成对DOM的所有操作。

    如果脚本2依赖于脚本1的操作,则必须进行处理。

    一种方法是:让脚本2检查由脚本1更改的某些状态的DOM(这表示脚本1的效果已经完成)。在脚本2中,使用window.setTimeout()保持递归循环,并定期检查信号状态,然后在满足条件后中断并开始脚本2的主要工作。

    另一种方法是:将两个脚本合并为一个脚本,并对代码块进行适当的排序。