用户脚本永远运行(连续重新加载页面,而不是重定向一次)

时间:2019-02-06 13:19:39

标签: javascript userscripts tampermonkey

我在使用Tampermonkey在Chrome中执行用户脚本时遇到问题。

脚本的想法是将字符串&f=%20license:"Creative+Commons+0"附加到URL freesound.org/search上,以防在URL // ==UserScript== // @name Freesound CC0 // @match https://freesound.org/search* // ==/UserScript== (function() { 'use strict'; if (!window.location.href.match(/f=%20license:"Creative+Commons+0"/)) { window.location.href += '&f=%20license:"Creative+Commons+0"'; } })(); 中找不到字符串。

问题是用户脚本在应该一次执行一次字符串时不断不断地追加字符串。

代码如下:

0: Wed Jul 18 19:09:04 UTC 2019
1: Wed Jul 18 19:10:04 UTC 2019  # break of over 10 hours until next value
2: Thu Jul 19 08:29:14 UTC 2019  
3: Thu Jul 19 08:30:14 UTC 2019
4: Thu Jul 19 08:31:14 UTC 2019

2 个答案:

答案 0 :(得分:1)

尝试使用此正则表达式

f=%20license:"Creative\+Commons\+0"

在加号之前注意反斜杠

答案 1 :(得分:1)

两个(或可能三个)问题:

  • 您要附加到URL的字符串中的字符intArray = Arrays.stream(intArray).distinct().toArray(); 被编码为",正则表达式在下一次迭代时将不匹配。
  • 您需要在正则表达式中转义%22
  • URL的大写字符可能会被服务器更改为小写;您可能需要使正则表达式不区分大小写(使用+标志)。

这应该有效:

i