gpt4 book ai didi

javascript - 通过 Tampermonkey 按钮运行功能

转载 作者:行者123 更新时间:2023-12-02 18:28:57 25 4
gpt4 key购买 nike

为了更好地使用 Javascript,我正在为 Javascript/jQuery 游戏编写 Tampermonkey 脚本。我在页面上创建了一个按钮,但无法从中运行任何功能。

我的问题是,如何从添加到页面的按钮运行这些功能?

这是我到目前为止所拥有的:

var w = unsafeWindow;
var $ = w.$;

$('#quest_form').append('<button id="autoGrind" name="autoGrind" onClick="autoGrind()">Auto Grind</button>');


var e = document.getElementById("quest_destination");
var strUser = e.options[e.selectedIndex].text;

function autoGrind(){
w.alert('Grind Started on Map: ' + strUser);
w.setInterval(grind(), 1000);
}

function grind(){
if(w.quest.weAreQuestingRightNow != false) { return; }
if(w.quest.tiredTime != 0) { return; }
quest.begin(true);
}

此外,我需要一种方法来无休止地运行函数grind()。我不确定 setInterval() 是否正是我所期望的。

最佳答案

不确定您是否已找到问题的解决方案,但经过数小时的努力才找到解决方案:

  1. 对于初学者(我)来说很简单
  2. 可在 Tampermonkey 和 Greasemonkey 之间移植
  3. 看起来我可以做一些事情......

我成功了:

function addBtn() {    
$("#quest_form").each(
function () {
$(this).before("<input type='button' value='Auto Grind' id='autoGrind'>");
$('autoGrind').click(autoGrind());
}
);
}
addBtn();

有关此解决方案的四个注意事项:

  1. 我为我定制了它,所以它可能不太适合你
  2. 我对 JS 非常很陌生,所以如果我使用了错误的“语法”,我很抱歉。
  3. .each 不是必需的,我必须添加很多按钮(删除了处理其 ID 的代码)。
  4. 我使用了 .before().append() 也应该适合您。

通常我不会在这里提交答案,因为我还不够了解,但我遇到了同样的问题,所以我想分享一下我的经验。

祝你好运

关于javascript - 通过 Tampermonkey 按钮运行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com