Greasemonkey: 用户应该能够控制脚本执行顺序

创建于 2017-11-15  ·  10评论  ·  资料来源: greasemonkey/greasemonkey

“执行顺序”排序是我在旧版全选项卡“管理”对话框中最怀念的功能。
目前(在 GM 4.0 中),看起来,脚本按照它们在弹出窗口中列出的方式执行,即按字母顺序。
由于此排序不再可用,因此无法再快速解决用户脚本冲突。


作为参考,我引用(现已删除) “脚本订单”维基页面

_脚本顺序_

_脚本可以按以下顺序显示:_

  • _Status - 脚本按激活状态排序:启用或禁用,然后是名称。_
  • _Name - 脚本按名称的字母顺序排列,无论状态如何。_
  • _执行顺序- 脚本按执行索引排序。_

_最后一个顺序对于相互冲突的用户脚本很重要。 通过更改脚本的顺序,可以解决冲突。 您可以通过右键单击用户脚本并选择以​​下操作之一来更改顺序: Execute firstExecute soonerExecute laterExecute last ._

最有用的评论

这确实是 4.x 缺少的 3.x 的一个特性。

我绝对不会承诺任何特定的功能/用户界面,但是能够安装两个必须以特定顺序运行的脚本会很好。

所有10条评论

这确实是 4.x 缺少的 3.x 的一个特性。

我绝对不会承诺任何特定的功能/用户界面,但是能够安装两个必须以特定顺序运行的脚本会很好。

如果在脚本源中我们有一个// <strong i="5">@priority</strong> (int)功能,或者我们应该将其称为运行级别,因为优先级可能会错过领先
每个撕裂都可以通过异步函数在/几乎同时开始
我们也应该支持负值

与 UNIX 运行级别有某种自然顺序不同,脚本的执行顺序似乎更加随意。 我认为这应该取决于用户。 来自脚本中的标签的默认优先级并不是一个坏主意,但需要有一个覆盖顺序的工具,就像在以前的 GM 版本中一样。

我确实同意这一点,但如果需要,我们可以从源编辑脚本的运行级别/优先级; 我认为这会更容易实现,此时可以围绕它构建一个用户界面

也为此投票。 我的一些脚本需要按特定顺序运行,如果不按时运行则中断。
我也认为这应该由用户来决定这个顺序。 UI 可以从脚本中引用一种“订单”/“运行级别”指令,但最后一个词必须是用户的。 我什至可以想象一对脚本在运行 1st-2nd 或 2nd-1st 时故意表现出不同的行为,因为它们都引用了由它们更改的页面 DOM。

恕我直言,运行级别不是我们在这里需要的。
我认为,在大多数情况下,这只是在脚本 B 之前执行脚本 A。
这是一个(相对)限制。 运行级别是一个绝对的度量。 不够用。
此外,限制非常少。 你所需要的只是“较早”/“较晚”的事情,
也许,只是为了安慰,“第一个”/“最后一个”......

这不是(严格地)脚本本身的属性,因此它不应该是嵌入到源代码中的标头@tag 。 这是某些脚本组合的症状,其中一个的更改破坏了另一个(但反之亦然),因此另一个必须先运行。

有一天这个功能还会存在吗? 自从 4.x 出现以来,我一直在想念它,并且不得不在我的脚本中做一些糟糕的解决方法,以便暂时以正确的顺序执行。

......一些糟糕的解决方法......

解决方法是什么,为什么它很差?

我记得用一个脚本创建了一个不可见的 div,并在另一个脚本中设置了一个计时器,用于检查 div 是否存在。 或者那是愚蠢的?

我不认为可以使用 Greasemonkey 设置全局变量并使其他脚本可以访问它们? 即使那样也需要设置一个计时器,不是吗?

此页面是否有帮助?
0 / 5 - 0 等级