Greasemonkey 将参数添加到 URL 的末尾

Greasemonkey add parameter to end of URL

我遇到了一点 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 是否已经 运行,但由于我作为初学者正在使用 Whosebug,因此我们将不胜感激。

谢谢

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

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