// ==UserScript== // @name Crowdsource Workstation Monitor // @namespace mralaska // @description Monitors your CrowdSource work center for favorite tasks // @include https://work.crowdsource.com/* // @exclude https://work.crowdsource.com/login* // @exclude https://work.crowdsource.com/amt/* // @exclude https://work.crowdsource.com/history* // @exclude https://work.crowdsource.com/feedback* // @exclude https://work.crowdsource.com/profile/* // @version 0.1 // @grant none // @downloadURL https://update.greasyfork.icu/scripts/6196/Crowdsource%20Workstation%20Monitor.user.js // @updateURL https://update.greasyfork.icu/scripts/6196/Crowdsource%20Workstation%20Monitor.meta.js // ==/UserScript== /********************************* * This script is still experimental. It was adapted by modifying the DCI Hit Monitor script. * ALERT mode (default) is activated by setting SOUND_DELAY with any positive number greater than zero (2 should be plenty unless speed is limited) * best when working this script solely, or have it running in another browser. * when an alert pops you stop what you are doing and visit the link from the frozen page * it is best to freeze the page using SLEEP_DELAY for a long enough time to investigate the linke * LINK mode can be activated by setting SOUND_DELAY to 0 (sound delay is not needed in link mode) * best when multitasking or if you have a lot of search queries and wish to ignore some alerts * the script will continue adding links to the capture page but will not force immediate action * you can still set SLEEP_DELAY to give you time to investigate from the search page or set it similar to RELOAD_TIME to keep searching * * To activate this script simply log into your account at https://work.crowdsource.com * This script will refresh the page at your specified interval using seach queries reflecting your favorite tasks *********************************/ //===[Settings]===\\ var RELOAD_TIME = '15'; //==[This is the number of seconds between page reloads. Set to '0' to disable script reloading] // * 5 by default - any number above 0 but I have had crowdsource crash on me going too fast. 0 will disable reloading. var SLEEP_DELAY = '600'; //==[This is the number of seconds HIT monitor waits after a notification] // * 15 by default - setting SLEEP_DELAY to 300 will give you five minutes - you can refresh the page manually to start it again sooner var SOUND_DELAY = '2'; //==[This is the number of seconds the alert waits to give the sound time to load] // * prevents the alert from snipping the sound // * SOUND_DELAY ALSO SETS ALERT/LINK MODE: // * Set to 0 for LINK WINDOW MODE (delay not required for link window) // * set to any number above 0 for ALERT MODE (try 2 for normal speed) var POPUP_WIDTH = '600'; // link page width in pixels var POPUP_HEIGHT= '650'; // link page height in pixels var SOUND_BYTE = "http://static1.grsites.com/archive/sounds/musical/musical002.wav"; //==[Change the SOUND_BYTE URL to use whatever sound you want]==\\ // // Customize your search strings (below) var needles = new Array( //==[Below is your requester list. Add or remove whatever you like]==\\ //==[If you make a typo and break it, you'll know, because it won't reload]==\\ // Proper format is QUOTE-STRING-QUOTE-COMMA (adding white space before or after queries does not matter) // regular searches can use either single quote or double quote if not encapsulating a another quote mark. // Note that the first entry uses single quotes to include a double quote as part of the search // Using the double quote as part of the search is copied from the source (inspect element) of the CrowdSource page 'Search: Keywords on Google.com"', // will not alert on similar searches such as "Search: Keywords on Google.com and ..." "Keywords on Google.ng", "Keywords on Google.it", "Keywords on Google.co.uk", "Keywords on Google.com.sg", 'Ranking of a Url"', //This query also uses the text and double quote as copied from the CrowdSource page via "Inspect Element" "Ranking of a Url on Google.co.uk", "Ranking of a Url on Google.it", "Ranking of a Url on Google.ng" //==[Be careful NOT to put a comma after the LAST item on your list]==\\ ); var haystack = document.body.innerHTML; var my_pattern, my_matches, found = "", foundalert = ""; for (var i=0; i"+ needles[i] +""; found += " \(All hits by 0) { // create alert and freeze tab setTimeout(function(){alert("Alert" + foundalert)}, SOUND_DELAY*1000); } else { // call function to create link page CreateAlert(found); } var StRefTime = SLEEP_DELAY; if (StRefTime > 0) setTimeout("location.reload(true);",StRefTime*1000); } else { var StRefTime = RELOAD_TIME; if (StRefTime > 0) setTimeout("location.reload(true);",StRefTime*1000); } function CreateAlert(found){ var LinkWindow = window.open("","CrowdSourceTasks","width="+POPUP_WIDTH+",height="+POPUP_HEIGHT); LinkWindow.document.body.innerHTML += (found); checkTitle(LinkWindow,"CrowdSource Search Results"); LinkWindow.document.close(); } function checkTitle(win,tit) { if(win.document) { // if loaded win.document.title = tit; // set title } else { // if not loaded yet setTimeout(check, 10); // check in another 10ms } }