Vũ *_*yễn 4 javascript jquery tampermonkey
我正在使用 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())
}
Run Code Online (Sandbox Code Playgroud)
当页面重新加载时,TamperMonkey 脚本确实也会重置。但是,您可以在重新加载之间保存状态,以便脚本可以从中断处继续。
您可以使用GM_getValue和GM_setValue函数将数据存储在某些 Tampermonkey 数据存储中,以便下次脚本运行时可用。请注意,您需要使用@grant标头才能使用这些功能。
例如,以下脚本保留重新加载之间的值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();
}
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10256 次 |
| 最近记录: |