gpt4 book ai didi

javascript - 如何在不重置 Tampermonkey 脚本的情况下重新加载页面?

转载 作者:行者123 更新时间:2023-12-04 12:51:33 26 4
gpt4 key购买 nike

我正在使用 javascript 在网站中创建一些自动化操作。我知道当我们点击刷新按钮时,chrome 控制台会被重置,所以我试图通过 Tampermonkey 管理它,以便脚本可以从 chrome 控制台单独运行。

但是我的问题仍然存在,当页面重新加载时,tampermonkey 用户脚本仍然会重置。你能帮我解决这些问题吗?非常感谢! p/s我是这个编码主题的业余爱好者,所以如果你们能帮我一把,我将不胜感激:)

我的脚本的一部分如下所示:

var $balance = $("#balance"),
$statusBar = $(".progress #banner");

function getStatus() {
var a = $statusBar.text();
if (hasSubString(a, "Rolling in")) return "waiting";
if (hasSubString(a, "***ROLLING***")) return "rolling";
if (hasSubString(a, "rolled")) {
var b = parseInt(a.split("rolled")[1]);
return lastRollColor = getColor(b), "rolled"
}
return "unknown"
}
function getBalance() {
return parseInt($balance.text())
}

最佳答案

重新加载页面时,TamperMonkey 脚本确实也会重置。但是,您可以保存重新加载之间的状态,以便您的脚本可以从中断处继续。

您可以使用 GM_getValue GM_setValue 函数将数据存储在一些 Tampermonkey 数据存储中,以便下次脚本运行时可用。请注意,您需要使用 @grant header 使用这些功能。

例如,以下脚本保留 counter 的值重新加载之间:

// ==UserScript==
// @name HttpBin reload
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Reload something a couple of times
// @author Sjoerd
// @match https://httpbin.org/get
// @grant GM_setValue
// @grant GM_getValue
// ==/UserScript==

(function() {
'use strict';

var i = GM_getValue('counter', 0);
GM_setValue('counter', i + 1);

if (i < 5) {
location.reload();
}
})();

关于javascript - 如何在不重置 Tampermonkey 脚本的情况下重新加载页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36254715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com