Javascript 如何设置在一系列网站上运行的用户脚本?
我想改变一些网站的背景,因为我讨厌当前的网站,但要做到这一点,我必须使用document.location.host。我有一个大的js文件包含其他站点,所以我不能为这个创建另一个js。唯一的问题是该站点将example.com重定向到example1.com、example2.com、example3.com等等 所以我可以用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) 但是我想要更
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(!)”逻辑运算符。顺便说一句,如果模式不符合您的要求,该代码块所做的就是执行返回(中止脚本)。