有没有办法使用greasemonkey只点击一次链接?

时间:2011-06-16 07:53:54

标签: click greasemonkey

有没有办法只使用Greasemonkey点击链接一次? 脚本是(例如):

var evt = document.createEvent ("HTMLEvents");
evt.initEvent ("click", true, true);
document.getElementById('DailyConsumtionTrigger').dispatchEvent(evt);

1 个答案:

答案 0 :(得分:0)

如果点击是基于时间的(每12小时EG一次),那么这样的事情就会起作用:

var intervalInMillisecs = 12 * 3600 * 1000; //-- 12 hours
var currentDateTime     = new Date ();
currentDateTime         = currentDateTime.valueOf ();   //-- Raw mS

//--- Get last click time, if it was set.
var lastClickTime       = GM_getValue ('lastClickTime_DCT');
if (!lastClickTime)
    lastClickTime       = 0;


//--- If this is the first ever run or the interval has past, click the button.
if ( currentDateTime - lastClickTime  >  intervalInMillisecs )
{
    GM_setValue ('lastClickTime_DCT', currentDateTime);

    var evt             = document.createEvent ("HTMLEvents");
    evt.initEvent ("click", true, true);
    document.getElementById ('DailyConsumtionTrigger').dispatchEvent (evt);
}

请注意,GM_setValue按脚本半永久性地存储信息。

如果点击是基于状态事件(EG仅在量表X接近零时单击),则测试适当的条件。


重要:

以上是基于所述“仅点击一次”的问题。 它假定用户将经常浏览目标(游戏)站点,并且不希望跨页面加载过度触发目标按钮。

要反复触发,请使用setInterval();