我目前正在研究一个 Greasemonkey 脚本,它允许将用户添加到一个忽略列表中,这将阻止他们的评论被呈现。
我通过“GM_setValue”存储他们的用户 ID。一切正常,但我无法渲染脚本的“管理您的禁令列表”部分以赦免用户。
我遇到问题的代码块:
var banList = GM_listValues(); // Array of Usernames
var manageBans = $("#content_content"); //The <div> I want to render the Banlist in.
manageBans.append("<h4>Manage ignorelist</h4>");
for (var i=0; i < banList.length; i++) {
var currentUser = banList[i];
manageBans.append($('<b>'+currentUser+'</b><a href ="javascript:void(null)"><img src="/redaktion/style/delete.png" width="16" height="16" alt="unblock_user"></a></br>').click(function(){ unbanUser(currentUser)}));
}
var unbanUser = function(name) {
GM_deleteValue(name);
};
所以基本上这工作正常,所有被禁止的用户都呈现在一个列表中,我可以点击解禁。但是,一旦我单击任何用户调用“unbanUser”,列表中的最后一个用户就会被取消禁止,而不是我单击的那个用户。
我猜变量“currentUser”始终是列表中的姓氏,我有点希望它成为 for 循环完成后每个用户的修复链接。这是一项非常琐碎的任务,但我没有找到合适的解决方案。
你有什么提示吗?问候