最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to reload page without resetting tampermonkey script? - Stack Overflow

programmeradmin1浏览0评论

I'm using javascript to create some automation action in a website. I know that chrome console would be reset when we hit the refresh button, so I'm trying to manage it by Tampermonkey so the script can run individually from the chrome console.

But my issue still there, tampermonkey userscript still reset when page is reloaded. Can you help me with those problem? Many thanks! p/s I'm an amateur in this coding subject so it is grateful if you guys can give me a hand :)

A part of my script is look like this:

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())
}

I'm using javascript to create some automation action in a website. I know that chrome console would be reset when we hit the refresh button, so I'm trying to manage it by Tampermonkey so the script can run individually from the chrome console.

But my issue still there, tampermonkey userscript still reset when page is reloaded. Can you help me with those problem? Many thanks! p/s I'm an amateur in this coding subject so it is grateful if you guys can give me a hand :)

A part of my script is look like this:

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())
}
Share Improve this question asked Mar 28, 2016 at 1:40 Vũ NguyễnVũ Nguyễn 1512 gold badges2 silver badges5 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 7

The TamperMonkey script will indeed also reset when the page is reloaded. However, you can save the state between reloads so that your script can continue where it left off.

You can use the GM_getValue and GM_setValue functions to store data in some Tampermonkey data store, so that it is available the next time the script runs. Note that you need to use the @grant header to use those functions.

For example, the following script keeps the value of counter between reloads:

// ==UserScript==
// @name         HttpBin reload
// @namespace    http://tampermonkey/
// @version      0.1
// @description  Reload something a couple of times
// @author       Sjoerd
// @match        https://httpbin/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();
    }
})();

You could try adding whatever it is you are trying to save to the localStorage of the page and whenever you need whatever you just saved, you can just get it from the localStorage.

Here are 2 mands to do so:

  1. localStorage.setItem(keyName, keyValue);

  2. localStorage.getItem(keyName);

For more info check these 2 links:

https://developer.mozilla/en-US/docs/Web/API/Storage/setItem

https://developer.mozilla/en-US/docs/Web/API/Storage/getItem

发布评论

评论列表(0)

  1. 暂无评论