您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Adds new settings to the very bottom of your Dashboard page that allow you to set tab titles for urls.
当前为
// ==UserScript== // @name VT Custom Mturk Tab Titles // @version 0.8001 // @description Adds new settings to the very bottom of your Dashboard page that allow you to set tab titles for urls. // @author Cristo // @include https://www.mturk.com* // @grant GM_getValue // @grant GM_setValue // @copyright 2012+, You // @namespace https://greasyfork.org/users/1973 // ==/UserScript== //In the footer of the Dashboard page you'll find two new links "Add Title" and "Saved Title". //Click "Add Title" //Two boxes will appear and allow you to enter a new tab title for a URL. //You can add * to the end of any url to match all pages that start with what you entered. // * Example - https://www.mturk.com* will match all mturk urls but be overwritten by https://www.mturk.com/mturk/myhits //Clcik "Saved Title" //Shows all save titles. //Hover your mouse over a title to reveal the URL. URLs are highlighted automatically to make copying simple. //Click to delete. var titles; var urls; var title = document.getElementsByTagName("title")[0]; if (GM_getValue("titlelist") == undefined) { titles = []; urls = []; } else { titles = GM_getValue("titlelist"); urls = GM_getValue("urllist"); } for (var u = 0; u < urls.length; u++) { if (urls[u].indexOf("*") > -1){ var create = urls[u].replace(/[^a-zA-Z ]/g, ""); var createish = create + "(.*)"; var created = new RegExp(createish); var sring = document.URL.toString().replace(/[^a-zA-Z ]/g, ""); if (sring.match(created)) { title.innerHTML = titles[u]; } } else { if (urls[u] == document.URL.toString()) { title.innerHTML = titles[u]; } } } if(document.URL.toString() == "https://www.mturk.com/mturk/dashboard"){ var foot = document.getElementsByClassName("footer_separator")[0].nextSibling.nextSibling; //For Chets AMT //var foot = document.getElementsByClassName("footer")[0]; var foottable = document.createElement("table"); foottable.style.textAlign = "center"; foottable.style.marginLeft = "auto"; foottable.style.marginRight = "auto"; foot.parentNode.insertBefore(foottable, foot.nextSibling); var td1 = document.createElement("td"); var td2 = document.createElement("td"); var td3 = document.createElement("td"); foottable.appendChild(td1); foottable.appendChild(td2); foottable.appendChild(td3); var trig1 = document.createElement("span"); trig1.style.color = "#1170A0"; trig1.style.textDecoration = "underline"; trig1.style.cursor = "pointer"; trig1.innerHTML = "Add Titles"; td1.appendChild(trig1); td2.innerHTML = " "+"|"+" "; var trig2 = document.createElement("span"); trig2.style.color = "#1170A0"; trig2.style.textDecoration = "underline"; trig2.style.cursor = "pointer"; trig2.innerHTML = "Saved Titles"; td3.appendChild(trig2); var divy = document.createElement("div"); divy.style.textAlign = "center"; foottable.parentNode.insertBefore(divy, foottable.nextSibling); var check; trig1.addEventListener( "click", function(){ if (check == "table0"){ divy.innerHTML = ""; check = "nope"; } else { divy.innerHTML = ""; var table0 = document.createElement("table"); table0.style.marginLeft = "auto"; table0.style.marginRight = "auto"; table0.style.textAlign = "center"; check = "table0"; divy.appendChild(table0); var topRow = document.createElement("tr"); var middleRow = document.createElement("tr"); table0.appendChild(topRow); topRow.parentNode.insertBefore(middleRow, topRow.nextSibling); var nameRow = document.createElement("td"); topRow.appendChild(nameRow); var ptag1 = document.createElement("p"); nameRow.appendChild(ptag1); ptag1.innerHTML = "Tab Name"; var urlRow = document.createElement("td"); nameRow.parentNode.insertBefore(urlRow, nameRow.nextSibling); var ptag2 = document.createElement("p"); urlRow.appendChild(ptag2); ptag2.innerHTML = "URL"; var inputRow1 = document.createElement("td"); middleRow.appendChild(inputRow1); var input1 = document.createElement("input"); inputRow1.appendChild(input1); input1.type = "text"; var inputRow2 = document.createElement("td"); inputRow1.parentNode.insertBefore(inputRow2, inputRow1.nextSibling); var input2 = document.createElement("input"); inputRow2.appendChild(input2); input2.type = "text"; var addBut = document.createElement("span"); addBut.style.color = "#1170A0"; addBut.style.textDecoration = "underline"; addBut.style.cursor = "pointer"; addBut.innerHTML = "Add"; table0.parentNode.insertBefore(addBut, table0.nextSibling); addBut.addEventListener( "click", function() { var userName; var userUrl; if (input1.value.length < 1) { userName = "Blank"; } else { userName = input1.value; } if (input2.value.length < 1) { userUrl = "Blank"; } else { userUrl = input2.value; } titles.push(userName); urls.push(userUrl); var both = []; for (var w = 0; w < titles.length; w++){ both.push({ "A": titles[w], "B": urls[w] }); } both.sort(function(a,b){ return a.B.length - b.B.length; }); var temptitles = []; var tempurls = []; for (var h = 0; h < both.length; h++) { temptitles.push(both[h].A); tempurls.push(both[h].B); } titles = temptitles; urls = tempurls; GM_setValue("titlelist", titles); GM_setValue("urllist", urls); input1.value = ""; input2.value = ""; }, false); }}, false); trig2.addEventListener( "click", function(){ if (check == "table"){ divy.innerHTML = ""; check = "nope"; } else { divy.innerHTML = ""; var table = document.createElement("table"); table.style.marginLeft = "auto"; table.style.marginRight = "auto"; table.style.textAlign = "center"; check = "table"; divy.appendChild(table); for (var g = 0; g < GM_getValue("urllist").length; g++){ var row = document.createElement("tr"); table.appendChild(row); var cell1 = document.createElement("td"); row.appendChild(cell1); var emptyP = document.createElement("p"); emptyP.style.color = "#7fb4cf"; emptyP.style.textDecoration = "underline"; emptyP.style.cursor = "pointer"; cell1.appendChild(emptyP); emptyP.setAttribute("class","urltable"); emptyP.innerHTML = GM_getValue("titlelist")[g]; } function overit(l) { var inex1 = l.target.innerHTML; var switchp1 = GM_getValue("titlelist").indexOf(inex1); l.target.innerHTML = GM_getValue('urllist')[switchp1]; var selection = window.getSelection(); var range = document.createRange(); range.selectNodeContents(this); selection.removeAllRanges(); selection.addRange(range); } function outofit(l) { var newDex; var inex2 = l.target.innerHTML; if (inex2.indexOf("&") > -1){ newDex = inex2.replace(/&/g,"&"); } else { newDex = inex2; } var switchp2 = GM_getValue("urllist").indexOf(newDex); l.target.innerHTML = GM_getValue("titlelist")[switchp2]; } function gonenow(l) { var inexd = l.target.innerHTML; var dele = GM_getValue("urllist").indexOf(inexd); titles.splice(dele,1); urls.splice(dele,1); GM_setValue("titlelist", titles); GM_setValue("urllist", urls); } var pps = document.getElementsByClassName("urltable"); for (var p = 0; p < pps.length; p++) { pps[p].addEventListener("mouseover", overit, false); pps[p].addEventListener("mouseout", outofit, false); pps[p].addEventListener("click", gonenow, false); } }}, false); }