// ==UserScript== // @name Google History Deleter // @namespace https://history.google.com/history // @version 1.0.0 // @description Automatically selects and deletes history from history.google.com // @author RexOmni // @match https://history.google.com/history/* // @grant none // @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js // @downloadURL https://update.greasyfork.icu/scripts/20619/Google%20History%20Deleter.user.js // @updateURL https://update.greasyfork.icu/scripts/20619/Google%20History%20Deleter.meta.js // ==/UserScript== (function() { // ************** // // User Variables // // ************** // var _GHDTimePerCheck = 1000; // The default time between each pass in miliseconds. var _GHDMaxSelected = 400; // Maximum checkboxes selected before it deletes them. // ************************************** // // Do not edit below unless experienced! // // ************************************** // var _GHDAutodelete = true; // Turns GHDGHDAutodelete on or off var _isWorking = false; function constrain(num, low, high) { if (num < low) { return low; } else if (num > high) { return high; } else { return num; } } var run = 0; // Add the Ui $('div.main-column-width').prepend('

Google History Deleter
By RexOmniFurtim

Clock Speed
Autodelete?
Maximum selected
'); var GHD = document.getElementById('GHD'); var input_isWorking = document.getElementById("GHD-isWorking"); input_isWorking.addEventListener("click", function(){ if (_isWorking) { _isWorking = false; GHD.style.background="rgba(255,0,0,0.15)"; input_isWorking.style.background="rgb(255,50,50)"; input_isWorking.value="Off"; clearInterval(_GHD_interval); } else { _isWorking = true; GHD.style.background="rgba(0,255,0,0.15)"; input_isWorking.style.background="rgb(50,255,50)"; input_isWorking.value="On"; _GHD_interval = setInterval(work, _GHDTimePerCheck); } }); var input_timeper = document.getElementById('GHD-timePerCheck'); input_timeper.addEventListener("change", function(){ input_timeper.value = constrain(input_timeper.value, 200, 10000); _GHDTimePerCheck = input_timeper.value; if(_isWorking){ input_isWorking.click(); } }); var autodel_input = document.getElementById('GHD-autodelete'); autodel_input.addEventListener("change", function(){ _GHDAutodelete = !_GHDAutodelete; }); var maxsel_input = document.getElementById('GHD-MaxSelected'); maxsel_input.addEventListener("change", function(){ maxsel_input.value = constrain(maxsel_input.value, 1, 10000); _GHDMaxSelected = maxsel_input.value; }); //md-checked function work(){ run++; console.log("run: " + run); // click all empty checkmarks $("md-checkbox.ng-empty").click(); var GDH_unchecked = $("md-checkbox.ng-not-empty"); // if there is a load more button var loadmore_button = $("button[ng-click='lookupController.loadMore()']"); if(loadmore_button.length == 1 && ($("md-checkbox.ng-not-empty").length >= _GHDMaxSelected)===false){ loadmore_button.click(); // load more } // if more than selected and GHDGHDAutodelete on if(($("md-checkbox.ng-not-empty").length >= _GHDMaxSelected) && _GHDAutodelete){ console.log("GHD: Deleting (passed limit)"); $("button.history-delete-btn").click(); setTimeout(function(){ $("button[ng-click='dialog.hide()']" ).click(); }, 10); } else if(_GHDAutodelete && loadmore_button.length===0){ console.log("GHD: Deleting (no more to load)"); $("button.history-delete-btn").click(); setTimeout(function(){ $("button[ng-click='dialog.hide()']" ).click(); }, 10); console.log("GHD: Finished!"); } } // work var _GHD_interval = null; console.log("GoogleHistoryCLicker Loaded!"); })();