javascript - 如何设置用户脚本以在一系列网站上运行?

标签 javascript tampermonkey

我想更改某些网站的背景,因为我讨厌当前网站的背景,但为此,我必须使用document.location.host。我有一个很大的js文件,其中包含另一个网站,所以我不能只为此创建另一个js。唯一的问题是该站点将example.com重定向到example1.com,example2.com,example3.com等。

所以我可以用

if (document.location.host === example1.com || example2.com ||  example3.com)


但是我想要更稳定的东西,这样就不需要并排编写1000个url,例如example1.com-example1255.com。一定像

if (document.location.host === example[*].com)


现在,我知道这是可能的,因为我以前做过。我想我是通过使用i ++方法做到的,但是我不记得这是我的问题了。

如何使用数组获取网站?或者更像是;如何选择带有和数组的网站?

附言我不想使用时尚的东西!
P.P.S.我不需要平等检查。整个想法不是写这些值而是让脚本执行这些值。

最佳答案

对于Tampermonkey,应使用the @include, @match, and @exclude directives来控制脚本尽可能在哪些页面上运行。
这样可以提高性能并减少副作用的风险。

Tampermonkey还支持@include中的有限正则表达式(与@match中可用的模式匹配不同),因此您可以使用如下脚本:

// ==UserScript==
// @name     _Run on a subset of pages
// @include  *://example*.com/*
// @grant    none
// ==/UserScript==

//-- Additional check to make sure server is of form example{some optional number}:
if ( ! /example\d*\.com/.test (location.hostname) )
    return;

console.log ("Hello world!");

关于javascript - 如何设置用户脚本以在一系列网站上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50321608/

相关文章:

javascript - 如何在 Angular 6的折线图chart.js中仅显示每15个x标签?

javascript - 更新后的 Material UI 抛出 TypeError : Cannot read property 'muiName' of undefined

javascript - 如何在 JavaScript 中加密一些在客户端不可见的字符串?

javascript - 如何查找字符串的所有出现位置?

javascript - 使用 TamperMonkey 脚本在 native Chrome HTML5 播放器上暂停视频

javascript - 用户脚本在页面刷新时循环

javascript - 按属性名称对 JavaScript 对象进行排序

javascript - react native 将数组转换为字符串

css - 如何使用 Stylish 或 Greasemonkey 替换 @media (max-width)?

javascript - 如何拦截读取文本输入的值?