如何仅重新加载用户脚本,即不重新加载页面?

How to reload only a userscript, i.e. without reloading the page?

我正在为网络应用开发 Greasemonkey 用户脚本,需要配置步骤,然后才能实际测试我的用户脚本的功能。所以每次我重新加载页面——从更新的文件刷新我的用户脚本——我都必须在测试之前重新配置网络应用程序。不用说,这很快就变老了。

有没有办法仅重新加载用户脚本,最好是从用户脚本本身重新加载?我想例如将重新加载绑定到键盘快捷键。

我以为这一定是一个很普遍的需求,但在寻找解决方案时却空手而归。

可能需要为此研究 AJAX,它是一种无需刷新网页即可与数据库交互的工具。 I.E - 动态网页。

可能会有帮助,只需进行一般性的 google 浏览并查看它是否适用。

https://www.w3schools.com/xml/ajax_intro.asp

一般不可行

正如一位合作者在 GreaseMonkey 的 GitHub 存储库中对 this issue 所说的那样,几乎所有脚本都会以导致重复执行脚本出现问题的方式改变页面。

我在最初的问题中忽略了这个事实 – 我的脚本 确实 以导致重复执行脚本有问题的方式改变页面。

如果你想实现脚本重载,你找到了可行的方法:

  • 确保仔细评估它对页面的影响,并且
  • 实施清理代码,为重复执行脚本准备页面。