您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hide individual HITs you're not interested in.
当前为
// ==UserScript== // @name Block Request // @author Turksquatch // @version 0.0.5 // @namespace http://www.turksquatch.com/ // @homepage http://mturkforum.com/showthread.php?4441-New-Script-to-Block-Individual-Hits&p=56939 // @description Hide individual HITs 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/sortsearchbar* // @include https://www.mturk.com/mturk/sorthits* // @include https://www.mturk.com/mturk/viewhits* // ==/UserScript== requestIndex = GM_getValue("requestIndex"); if(!requestIndex) { //alert(requestIndex); requestIndex=""; GM_setValue("requestIndex",""); } function showUpdates() { updated = GM_getValue('requestUpdated'); 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:unblockRequest(\""+rId+"\",\""+rName+"\");' title='Unblock this request'>undo</a>"; } div.innerHTML = status + "</h6></span></div>"; table.parentNode.insertBefore(div, table); GM_deleteValue('requestUpdated'); } } function hideHIT(element) { pa=element, step=0; while (step++ < 11) { ch = pa; pa = pa.parentNode; } pa.className = "rblocked"; } function unhideHIT(element) { pa=element, step=0; while (step++ < 11) { ch = pa; pa = pa.parentNode; } pa.className = ""; } function hideMatchingHITs() { var numBlocked=0; theseRequests = document.evaluate("//a[starts-with(@href,'/mturk/preview?groupId=')]",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); for (i=0; i<theseRequests.snapshotLength; i++) { rLink = theseRequests.snapshotItem(i); rLink.parentNode.nowrap = false; rName = "x"; rId = rLink.href.toString().split('=')[1]; if (requestIndex.indexOf(rId) != -1 && location.href.indexOf(rId) == -1) { newElement = document.createElement('a'); newElement.innerHTML = " <a style='font-size:80%;' href='javascript:unblockRequest(\""+rId+"\",\""+rName+"\");' title='Unblock this request'>unblock</a>"; rLink.parentNode.insertBefore(newElement, rLink.nextSibling); hideHIT(rLink); numBlocked+=1; } else { newElement = document.createElement('a'); newElement.innerHTML = " <a href='javascript:blockRequest(\""+rId+"\","+i+");' style='font-size:80%;' title='Block this request'>x</a>"; rLink.parentNode.insertBefore(newElement, rLink.nextSibling); } } return numBlocked; } unsafeWindow.unhideAllHITs = function () { theseRequests = document.evaluate("//a[starts-with(@href,'/mturk/preview?groupId=')]",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); for (i=0; i<theseRequests.snapshotLength; i++) { unhideHIT(theseRequests.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="showrblocked">Show ' + numBlocked + ' rBlocked</a>'; collapseAll.parentNode.insertBefore(showAllBlocked, collapseAll.nextSibling); } unsafeWindow.blockRequest = function (rId,i) { rName = "x"; rEntry = rId+"::"+rName; requestIndex+= rEntry+"}{"; if (confirm("Hide this HIT?")) { window.setTimeout(function() { GM_setValue("requestIndex", requestIndex); GM_setValue("requestUpdated", "Blocked,"+rEntry); }, 0); //window.setTimeout(GM_setValue, 0, "requestIndex", requestIndex); //window.setTimeout(GM_setValue, 0, "requestUpdated", "Blocked,"+rEntry); document.location.reload(); } } unsafeWindow.unblockRequest = function (rId,rName) { theseRequests = document.evaluate("//a[starts-with(@href,'/mturk/preview?groupId=')]",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); rEntry = rId+"::"+rName; half = requestIndex.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]+"}{"; } } requestIndex = left + right; window.setTimeout(function() { GM_setValue("requestIndex", requestIndex); GM_setValue("requestUpdated", "Unblocked,"+rEntry); }, 0); //window.setTimeout(GM_setValue, 0, "requestIndex", requestIndex); //window.setTimeout(GM_setValue, 0, "requestUpdated", "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('.rblocked { display: none; }'); showUpdates(); showNumBlocked(hideMatchingHITs());