是否可以通过编程方式设置用户脚本可以在其上运行的网页?

问题描述 投票:-1回答:1

我目前正在开发一个用户脚本,该脚本在离开公司后可能已经使用了[[几年]。目标受众具有基本的计算机知识,足以填写一个简单的配置菜单。

[我担心脚本可能会中断,因为IT部门可能会移动我在@include中列出的网页。我可以记录如何修复脚本,但是我想防御性地针对我知道非常无能的IT部门进行编程。我知道我可以执行以下操作:

    允许用户在配置页面中指定URL。
  • @include设置为与https://*.edu/*非常通用,并使用if语句在执行命令之前使用window.location.href使用我们确定用户指定的URL。
  • 关于此解决方案的一些担忧:我希望脚本可以在机构之间轻松重用,这就是为什么我提到了*.edu而不是specificschool.edu的原因。上面的配置将使脚本实际上在任何specificschool.edu网站的每个页面上执行,但是由于.edu语句,仅当这些动作在网页上时才会发生。这似乎效率极低,但是我知道这可能是在便于携带和提高效率之间进行权衡。

    还有更好的方法吗?

  • javascript tampermonkey userscripts defensive-programming greasemonkey-4
    1个回答
    0
    投票
    允许用户在配置页面中指定URL。

    如wOxxOm所述,用户脚本管理器,例如TamperMonkey,GreaseMonkey,ViolentMonkey和FireMoneky(仅Firefox)具有用户可以输入的用户设置,尽管通常需要一些先验知识。

    将@include设置为非常通用的https://

    .edu /,并在执行命令之前使用if语句使用window.location.href来确定我们是否位于用户指定的URL上。

    这也是可能的(虽然效率低下),但如果网站以使'if语句'成为过时的方式进行更改,则可能会遇到相同的问题。

    还有更好的方法吗?

    是...脚本更新系统。

    如果将脚本放置在可访问的服务器(GreasyFork,Github等)上,则可以设置更新URL,然后在脚本无法运行或需要更新时,可由用户自动或手动更新脚本。

    © www.soinside.com 2019 - 2024. All rights reserved.