您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Turn selected areas inside a Mturk hit into a google link.
// ==UserScript== // @name Linky // @version 0.6 // @description Turn selected areas inside a Mturk hit into a google link. // @author Cristo // @include * // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @copyright 2012+, You // @namespace https://greasyfork.org/users/1973 // ==/UserScript== //Turn selected areas inside a hit into a google link. //Highlight words you would like to add to a google search and press + on the number pad, repeat as needed. //For best results highlight as little as needed //Press - on the number pad to delete saved data. var build = []; var savedData = []; if(GM_getValue('taginfo')){ for(var p = 0; p < GM_getValue('taginfo').length; p++){ savedData.push(JSON.parse(GM_getValue('taginfo')[p])); } } if (window.location != window.parent.location === true) { console.log('Yes Frame'); linkMaker(); } else if (!document.getElementsByTagName('iframe') [0] && document.getElementsByName('hitForm') [1]) { console.log('No Frame'); linkMaker(); } else { console.log('No Run'); } function finder() { var ti; var lightText = window.getSelection(); var stringText = lightText.toString(); var textElement = lightText.anchorNode.parentNode; var elementString = textElement.textContent; var stringStart = elementString.indexOf(stringText); var stringEnd = stringText.length; var textTagType = textElement.tagName; if (lightText.anchorNode != lightText.focusNode) { alert('Multiple nodes selected, please break up selection'); } else { var simTags = document.getElementsByTagName(textTagType); for (var t = 0; t < simTags.length; t++) { if (simTags[t] == textElement) { ti = t; } } } var data = new Object(); data.Tag = textTagType; data.Tagindex = ti; data.First = stringStart; data.Last = elementString.length - (stringStart + stringText.length); build.push(JSON.stringify(data)); GM_setValue('taginfo', build); } function linkMaker() { if (GM_getValue('taginfo') && document.getElementsByTagName(savedData[0].Tag) [savedData[0].Tagindex]) { var currentWords = []; var aLinkAnc = document.getElementsByTagName(savedData[0].Tag) [savedData[0].Tagindex]; for (var s = 0; s < savedData.length; s++) { if (document.getElementsByTagName(savedData[s].Tag) [savedData[s].Tagindex]) { var sTags = document.getElementsByTagName(savedData[s].Tag) [savedData[s].Tagindex]; var sTIn = sTags.textContent; var cutText = sTIn; var owb = savedData[s].First; var owe = savedData[s].Last; if (owb > 0) { var frontCut = sTIn.substring(0, owb - 1); cutText = cutText.replace(frontCut, ''); } if (owe > 0) { var backCut = sTIn.substring(sTIn.length - (owe - 1), sTIn.length); cutText = cutText.replace(backCut, ''); } currentWords.push(cutText); } } var wordString = currentWords.toString().replace(/,/g, ' '); var cleanWords = wordString.replace(/[^a-zA-Z0-9\s]/g, ' '); var searchWords = cleanWords.replace(/\s/g, '%20'); var link = document.createElement('a'); link.target = '_blank'; link.href = 'http://www.google.com/search?q=' + searchWords; link.innerHTML = cleanWords; aLinkAnc.parentNode.insertBefore(link, aLinkAnc.nextSibling); } } document.addEventListener('keydown', function (i) { if (i.keyCode == 107) { //+ Adds terms finder(); } if (i.keyCode == 109) { //- Delete terms GM_deleteValue('taginfo'); } }, false);