Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置在一系列网站上运行的用户脚本?_Javascript_Tampermonkey - Fatal编程技术网

Javascript 如何设置在一系列网站上运行的用户脚本?

Javascript 如何设置在一系列网站上运行的用户脚本?,javascript,tampermonkey,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) 但是我想要更

我想改变一些网站的背景,因为我讨厌当前的网站,但要做到这一点,我必须使用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,您应该尽可能多地使用它来控制脚本在哪些页面上运行。
这提高了性能并降低了副作用的风险

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!");

使用正则表达式。如果您发布实际的站点名称,那么就更容易找到一个。
[“example1.com”、“example2.com”、“stackoverflow.com”]。包括(document.location.host)
@RandyCasburn当已经有几十个这样的站点时,我们真的需要另一个答案吗?@vlaz-concur可能重复。感谢您的解释。菲尔的回答同样强硬,我花了一段时间才明白。成功了!您可能需要删除“not(!)”逻辑运算符。顺便说一句,如果模式不符合您的要求,该代码块所做的就是执行
返回(中止脚本)。