- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用此 Tampermonkey 代码创建复选框,选中这些复选框后,会定期单击某些按钮并刷新页面。
该代码做了正确的事情,问题是在更新页面后它会取消选中复选框并停止。
我设法让复选框在代码的最后一部分保持选中状态,问题是在更新页面后,即使选中了复选框,它也不会继续执行这些功能,而且根据我在测试中观察到的情况,我必须取消选中复选框并再次检查以工作。
我相信问题出在代码的开头,但在到处搜索后我无法解决这个问题。据我所见,它仅在单击复选框时才会响应,而在自动选中时则不会。
function addDomElements () {
var newNodes = $( `
<div class="mySpamCntrols foundation-radius fightContainer foundation-base-font">
<input type="checkbox" class="smallerBox" id="EsquerdaHitBox" data-trgtSelctr="#fightButtonBerserk1">
<label class="checkboxlabel" for="EsquerdaHitBox">Hit Esquerda</label>
<input type="checkbox" class="smallerBox" id="MeioHitBox" data-trgtSelctr="#fightButtonBerserk1">
<label class="checkboxlabel" for="MeioHitBox">Hit Meio</label>
<input type="checkbox" class="smallerBox" id="DireitaHitkBox" data-trgtSelctr="#fightButtonBerserk2">
<label class="checkboxlabel" for="DireitaHitkBox">Hit Direita</label>
</div>
` );
//-- Best to add a <style> node, but spam inline styles for now...
newNodes.find ("input").attr ("style", "margin:1px !important;line-height:10px !important;");
newNodes.find ("label").attr ("style", "margin-right: 20px;");
newNodes.insertAfter($('.foundation-radius.fightContainer.foundation-base-font')[1] );
//-- Activate checkboxes
$(".mySpamCntrols").on ("change", "input[data-trgtSelctr]", processMyCheckBoxes);
}
addDomElements ();
function processMyCheckBoxes (zEvent) {
var chkBox = zEvent.target;
//-- If box is now checked, fire off an immediate click and start the timers
if (chkBox.checked) {
clickButtonByjQuerySelector (chkBox.dataset.trgtselctr);
//chkBox.spamClckTmr = setInterval (clickButtonByjQuerySelector, 30000, chkBox.dataset.trgtselctr);
chkBox.spamClckTmr = setInterval (clickButtonByjQuerySelector, 2222, chkBox.dataset.trgtselctr);
chkBox.pageReloadTmr = setTimeout (location.reload.bind (window.location), 300000);
}
//-- Else, if box is now not checked, cancel the timers
else {
clearInterval (chkBox.spamClckTmr);
clearTimeout (chkBox.pageReloadTmr);
}
}
function clickButtonByjQuerySelector (jQuerySelector) {
var targetNode = $(jQuerySelector)[0];
if (targetNode) {
console.log ("Clicking node: ", jQuerySelector);
//-- Warning this my not always suffice. See https://stackoverflow.com/q/15048223
targetNode.click ();
}
else {
console.warn (`Node [${jQuerySelector}] not found!`);
}
}
//Save Checkbox
$(function(){
$('input:checkbox').each(function() {
var $el = $(this);
$el.prop('checked', sessionStorage[$el.prop('id')] === 'true');
});
$('input:checkbox').on('change', function() {
var $el = $(this);
sessionStorage[$el.prop('id')] = $el.is(':checked');
});
});
如何让选中的复选框计时器在页面重新加载后重新启动?
最佳答案
您已经很接近了,但是设置 checked
属性还不够。您还必须同步事件处理程序。
一个简单的方法是让代码点击复选框。
此外,也不需要/使用那个 $(function(){
包装器。
此代码有效:
//-- Restore and Save Checkboxes from sessionStorage:
$('input:checkbox').each (function () {
var $el = $(this);
var elId = $el.prop ('id');
if (sessionStorage[elId] === 'true') {
document.getElementById (elId).click ();
}
} );
$('input:checkbox').on ('change', function () {
var $el = $(this);
sessionStorage[$el.prop ('id')] = $el.is (':checked');
} );
关于javascript - Tampermonkey 复选框在重新加载页面后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54528883/
根据FAQ Tampermonkey 的: Q400: I want to edit/view the values stored by a userscript. How can Ido that?
该数字在读中是什么意思,为什么它从1增加到2?它看起来与Firebug错误计数相似,但此处没有错误。 最佳答案 徽章将根据您的设置显示不同的信息。 要查看当前行为(并更改它): 转到Tampermon
我的问题有两个方面。首先,有人可以解释一下在 Tampermonkey 中使用 @grant none 的优缺点吗?其次,我应该使用哪些 @grant 值来防止网页检测脚本? 最佳答案 @grant
基本上,当我进入 youtube 页面时,tampermonkey 说脚本正在运行,但事实并非如此。刷新页面后,它工作正常。 我发现了一些其他的posts有类似的问题,他们使用了waitForKeyE
所以我有一个学校问题,我需要访问一个网站,但这个网站需要我通过大约 4 个门户才能到达那里,我希望只写一个快速脚本来为我做这件事。问题出现在站点非常草率并且在certian按钮上写有相同的名称所以我想
是否可以将任何脚本制作成仅在 www.example.com 上运行的脚本,仅当从隐身窗口访问网站时? ( Chrome 合金) 最佳答案 我在 Tampermonkey 的 GM_info 中添加了
在我的脚本顶部,我有以下内容: // ==UserScript== // @name Test script // @description testing auto-update
我正在尝试让 Tampermonkey 填写在线表格。它每 4 次就有 1 次有效,我想要它做的只是在 bigcartel 商店上进行简单的结帐过程。有人可以帮忙吗? 它应该适用于任何使用其平台的商店
这里有点菜鸟,但我最近发现了 Tampermonkey,它在网页上使用 js 用户脚本的能力令人惊叹。但由于它只是作为浏览器扩展而被发现,而且我使用多个浏览器,我想知道是否会有一种系统范围(Windo
问:是否可以在该脚本中编写一个命令,在重定向我之前自动将原始地址作为书签保存在该文件夹中?我找不到这样的命令。 背景: 对编程来说相当陌生。我是一名 ARM 骨折的学生。当我在付费墙后面发现一篇有趣的
我有一个用户脚本,可以打开另一个选项卡,它也在其中运行。 我使用 GM_setvalue 和 GM_getvalue 在它们之间交换值。 在主选项卡中,我想停止执行代码,直到从其他选项卡更新值。 我的
如何使用 tampermonkey 在 google 搜索框中设置一些文本? 我已尝试以下操作,但未设置任何文本: // ==UserScript== // @name Google
我正在为一个使用旧版本 jQuery 的网站使用 Tampermonkey 脚本。我想在我的脚本中使用更新的版本。我已经尝试过: var contentIndex = 0; var script =
所以我的控制台给了我这条消息 - The page at https://en.wikibooks.org/wiki/Vehicle_Identification_Numbers_(VIN_c
我正在使用此 Tampermonkey 代码创建复选框,选中这些复选框后,会定期单击某些按钮并刷新页面。 该代码做了正确的事情,问题是在更新页面后它会取消选中复选框并停止。 我设法让复选框在代码的最后
我正在为博彩网站制作脚本以使其自动化,但我的脚本无法正常工作。 我想自动点击 ID 为 #box38、#playBtn、#resetStats 的按钮。我还希望当我输了时,将赌注增加到 0.00000
我想在所有 YouTube.com 网站上专门运行此 TamperMonkey 脚本: // ==UserScript== // @name YouTubeFakeScriptName
我正在尝试使用 Tampermonkey 在提供者 Angular 应用程序之上添加一些功能,但我被困在这个简单的事情上。我无法使用 CodePen 重现该问题,因此我们将不得不寻求理论和建议。我会尽
我正在尝试完成一个用于填写结帐表单的脚本。它需要单击一个没有 ID 或名称的按钮,然后填写出现的表单的其余部分。我必须单击按钮的代码是: document.querySelector('input[t
我正在尝试使用 JavaScript 通过 Tampermonkey 获取一些数据。问题出在正则表达式上,我是在 RegExr(Air 应用程序)中设计的,它似乎在输入文本上运行良好:
我是一名优秀的程序员,十分优秀!