Greasemonkey将参数添加到URL的末尾

时间:2018-10-27 21:19:24

标签: javascript greasemonkey-4

我在Greasmonkey上遇到了一些麻烦

我想写一个自动添加“?”的脚本。到使用论坛时获取的每个URL的末尾(总之,但这可以防止所有者遇到的缓存问题)

我有这个,但是它可以满足我的要求,但是它会继续重定向并添加另一个“?”所以我最终得到“ forum.domain.com/viewforum.php?f=4 ????????????”并且不断添加另一个问号而不加载论坛

这对我来说是基本的,所以我无法解决,因此将不胜感激。

// ==UserScript==
// @name       sort out caching issue
// @version    1.01
// @description  Adds parameter to sort caching issue
// @include      http://forum.domain.com/*
// @include      http://forum.domain.com/viewforum.php?f=4
// @include      http://forum.domain.com/viewforum.php?f=5
// @exclude      http://forum.domain.com/index.php
// @run-at document-start
// ==/UserScript==

window.location.replace (window.location.href + "~");

我猜测需要进行某种检查以查看ts是否已经运行,但是由于我作为初学者开始使用StackOverflow,将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

因为您要在URL的末尾添加一个~,听起来您需要做的就是检查当前URL中的最后一个字符是否为~ 。如果没有,那么您可以添加它,页面将会刷新;否则,什么也不做,从而防止无限刷新循环:

const { href } = window.location;
if (href.slice(-1) !== '~') {
  window.location.replace(href + '~');
}