您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Reloads pages automatically if no HIT is loaded for provided Group Ids
当前为
// ==UserScript== // @name [Www] [Worker] No HIT Reloader // @namespace https://github.com/Kadauchi // @version 2.1.0 // @description Reloads pages automatically if no HIT is loaded for provided Group Ids // @author Kadauchi // @icon http://i.imgur.com/oGRQwPN.png // @include https://worker.mturk.com/* // @include /^https://www\.mturk\.com/mturk/(accept|preview|previewandaccept)/ // @grant GM_getTab // @grant GM_saveTab // ==/UserScript== function www() { const GROUP_IDS = JSON.parse(localStorage.getItem(`GROUP_IDS`)) || {}; const group_id = window.location.href.split(`groupId=`)[1].split(`&`)[0]; function RELOAD () { if (GROUP_IDS[group_id] && !document.getElementsByName(`isAccepted`)[0]) setTimeout(function () { window.location.reload(); }, 500); } if (!document.getElementById(`alertBox`)) return RELOAD(); document.getElementById(document.getElementsByClassName(`message success`)[0] ? `alertboxMessage` : `alertboxHeader`).insertAdjacentHTML( `beforebegin`, `<span style="float: right">` + ` <label><b>Auto Reload If No HIT?</b> <input id="auto_reload" type="checkbox" ${GROUP_IDS[group_id] ? `checked` : ``}></label>` + `</span>` ); document.getElementById(`auto_reload`).addEventListener(`change`, function () { GROUP_IDS[group_id] = document.getElementById(`auto_reload`).checked; localStorage.setItem(`GROUP_IDS`, JSON.stringify(GROUP_IDS)); RELOAD(); }); RELOAD(); } function worker() { GM_getTab((tab) => { const gid = location.href.match(/projects\/([A-Z0-9]+)/) ? location.href.match(/projects\/([A-Z0-9]+)/)[1] : null; const gids = localStorage.NHR_gids ? JSON.parse(localStorage.NHR_gids) : {}; let timeout = null; const reloader = () => { if (!gid && gids[tab.gid]) { timeout = setTimeout(() => { window.location.replace(`https://worker.mturk.com/projects/${tab.gid}/tasks/accept_random`); }, 500); } else { clearTimeout(timeout); } }; if (location.href.indexOf(`https://worker.mturk.com/projects`) !== -1) { if (gid) { tab.gid = gid; } else { reloader(); } if (tab.gid) { const button = document.createElement(`button`); button.title = `Auto Reload ${tab.gid} If No HIT?`; button.className = `m-l-sm fa fa-refresh btn ${gids[tab.gid] ? `btn-success` : `btn-default`}`; button.addEventListener(`click`, (event) => { button.classList.toggle(`btn-success`); button.classList.toggle(`btn-default`); gids[tab.gid] = button.classList.contains(`btn-success`); localStorage.NHR_gids = JSON.stringify(gids); reloader(); }); document.getElementsByClassName(`navbar-content`)[0].appendChild(button); } } else { tab.gid = undefined; } GM_saveTab(tab); }); } if (location.href.indexOf(`https://worker.mturk.com/`) !== -1) worker(); else www();