1

帮助,谁能帮助我如何使用greasemonkey更改javascript变量?

我已经关注了这个问题的答案: 如何使用 Greasemonkey 更改 JavaScript 变量?

还有这个链接: http ://webdeveloper.com/forum/showthread.php?t=166658

但我无法使用此脚本修改函数上的计数器变量值:

// ==UserScript==
// @name       My Fancy New Userscript
// @namespace  http://use.i.E.your.homepage/
// @version    0.1
// @description  enter something useful
// @match      https://welcome.telkomhotspot.info/telkomhs/freemax/
// @copyright  2012+, You
// ==/UserScript==

unsafeWindow.counter = 1;

这是我要更改的功能:

function startTimer(){
var counter = 20;
var wait = 0;
var displayCounter = true;
var startCounting = false;
$("#timerTransition").html(getLoadingCounter())
.everyTime(1000,function(i){
    if(wait==0){
        if(displayCounter){
            $("#loadingCounter").fadeOut(500,function(){
                $("#timerTransition").html(getTimerContainer(counter));
                $("#timerContainer").fadeIn(500,function(){
                    startCounting = true;
                });
            });
        }
        displayCounter = false;
        if(startCounting){
            counter = counter - 1;
            $("#counter").html(counter);
            if(counter == 0) {

                if(foundCookies){
                    $("#timerTransition").stopTime().html(getAuthCookiesLogin());
                }
                else{
                    $("#timerTransition").stopTime().html(getAuthButton());
                    $("#authBtnContainer").fadeIn(0).click(function(){
                        $(this).fadeOut(0);
                        closeAds();
                        openAuthForm();
                    });
                }
            }
        }
    }
    else{
        wait = wait-1;
    }
});
}

感谢您的帮助,我已经在谷歌上搜索,但我仍然无法修改变量。

4

1 回答 1

1

counter是函数内的局部变量。除非您可以修改函数以使用全局变量,否则您将无法更改其值。如果您无权访问代码,您可以尝试用startTimer您自己的实现替换整个函数。我无法从您的示例中看出,但您只能替换 startTimer 如果它是全局的。

于 2012-04-16T15:21:11.583 回答