您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hide HITs from requesters you're not interested in.
// ==UserScript== // @name Block Requesters // @author Ergo // @version 1.1.0 // @namespace http://www.crowdsauced.com/block // @homepage http://www.mturkforum.com/showthread.php?t=1088 // @description Hide HITs from requesters you're not interested in. // @include https://www.mturk.com/mturk/findhits* // @include https://www.mturk.com/mturk/searchbar* // @include https://www.mturk.com/mturk/viewsearchbar* // @include https://www.mturk.com/mturk/sorthits* // @include https://www.mturk.com/mturk/viewhits* // @include https://www.mturk.com/mturk/accept* // @include https://www.mturk.com/mturk/preview* // @include https://www.mturk.com/mturk/return* // ==/UserScript== requesterIndex = GM_getValue("requesterIndex"); if(!requesterIndex) { //alert(requesterIndex); requesterIndex=""; GM_setValue("requesterIndex",""); } function showUpdates() { updated = GM_getValue('requesterUpdated'); if (updated) { tables = document.evaluate("//table",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); table = tables.snapshotItem(6); action = updated.split(','); rId = action[1].split('::')[0]; rName = action[1].split('::')[1]; div = document.createElement('div'); div.id = 'updated'; status = "<div class='message success'><h6><span id='alertboxHeader'>"+action[0]+" "+rName; if (action[0]=='Blocked') { status+=" <a style='font-size:80%;' href='javascript:unblockRequester(\""+rId+"\",\""+rName+"\");' title='Unblock this requester'>undo</a>"; } div.innerHTML = status + "</h6></span></div>"; table.parentNode.insertBefore(div, table); GM_deleteValue('requesterUpdated'); } } function hideHIT(element) { pa=element, step=0; while (step++ < 14) { ch = pa; pa = pa.parentNode; } pa.className = "blocked"; } function unhideHIT(element) { pa=element, step=0; while (step++ < 14) { ch = pa; pa = pa.parentNode; } pa.className = ""; } function hideMatchingHITs() { var numBlocked=0; theseRequesters = document.evaluate("//a[starts-with(@href,'/mturk/searchbar?selectedSearchType=hitgroups&requesterId=')]",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); for (i=0; i<theseRequesters.snapshotLength; i++) { rLink = theseRequesters.snapshotItem(i); rLink.parentNode.nowrap = false; rName = rLink.innerHTML; rId = rLink.href.toString().split('=')[2]; if (requesterIndex.indexOf(rId) != -1 && location.href.indexOf(rId) == -1) { newElement = document.createElement('a'); newElement.innerHTML = " <a style='font-size:80%;' href='javascript:unblockRequester(\""+rId+"\",\""+rName+"\");' title='Unblock this requester'>unblock</a>"; rLink.parentNode.insertBefore(newElement, rLink.nextSibling); hideHIT(rLink); numBlocked+=1; } else { newElement = document.createElement('a'); newElement.innerHTML = " <a href='javascript:blockRequester(\""+rId+"\","+i+");' style='font-size:80%;' title='Block this requester'>x</a>"; rLink.parentNode.insertBefore(newElement, rLink.nextSibling); } } return numBlocked; } unsafeWindow.unhideAllHITs = function () { theseRequesters = document.evaluate("//a[starts-with(@href,'/mturk/searchbar?selectedSearchType=hitgroups&requesterId=')]",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); for (i=0; i<theseRequesters.snapshotLength; i++) { unhideHIT(theseRequesters.snapshotItem(i)); } } function showNumBlocked(numBlocked) { collapseAll = document.getElementById('collapseall'); showAllBlocked = document.createElement("span"); showAllBlocked.innerHTML = ' <font color="#9ab8ef">|</font> <a href="javascript:unhideAllHITs();" class="footer_links" id="showblocked">Show ' + numBlocked + ' Blocked</a>'; collapseAll.parentNode.insertBefore(showAllBlocked, collapseAll.nextSibling); } unsafeWindow.blockRequester = function (rId,i) { rName = theseRequesters.snapshotItem(i).innerHTML; rEntry = rId+"::"+rName; requesterIndex+= rEntry+"}{"; if (confirm("Hide HITs from "+rName+" ("+rId+")?")) { window.setTimeout(function() { GM_setValue("requesterIndex", requesterIndex); GM_setValue("requesterUpdated", "Blocked,"+rEntry); }, 0); //window.setTimeout(GM_setValue, 0, "requesterIndex", requesterIndex); //window.setTimeout(GM_setValue, 0, "requesterUpdated", "Blocked,"+rEntry); document.location.reload(); } } unsafeWindow.unblockRequester = function (rId,rName) { theseRequesters = document.evaluate("//a[starts-with(@href,'/mturk/searchbar?selectedSearchType=hitgroups&requesterId=')]",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); rEntry = rId+"::"+rName; half = requesterIndex.split(rId+"::"); left = half[0]; temp = half[1].split('}{'); right = temp[1]+"}{"; if (temp.length>1) { for (i=2;i<temp.length-1;i++) { right+=temp[i]+"}{"; } } requesterIndex = left + right; window.setTimeout(function() { GM_setValue("requesterIndex", requesterIndex); GM_setValue("requesterUpdated", "Unblocked,"+rEntry); }, 0); //window.setTimeout(GM_setValue, 0, "requesterIndex", requesterIndex); //window.setTimeout(GM_setValue, 0, "requesterUpdated", "Unblocked,"+rEntry); document.location.reload(); } function addGlobalStyle(css) { head = document.getElementsByTagName('head')[0]; if (!head) { return; } style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); } addGlobalStyle('.blocked { display: none; }'); showUpdates(); showNumBlocked(hideMatchingHITs());
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址