2016-03-28 12 views
0

私はJavaScriptを使ってウェブサイトにいくつかの自動化アクションを作成しています。私はリフレッシュボタンを押したときにクロムコンソールがリセットされることを知っています。そのため、Tampermonkeyで管理して、スクリプトをクロームコンソールから個別に実行できるようにしています。tampermonkeyスクリプトをリセットせずにページをリロードする方法はありますか?

私の問題はまだありますが、ページがリロードされてもtampermonkeyのuserscriptはリセットされます。あなたはそれらの問題で私を助けることができますか?どうもありがとう! 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()) 
} 

答えて

0

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(); 
    } 
})(); 
関連する問題