Я создал пользовательский скрипт для периодического удаления истории из Google Chrome. Самый простой способ, который я мог придумать, - установить Clear Cache
https://chrome.google.com/webstore/detail/clear-cache/cppjkneekbjaeellbfkmgnhonkkjfpdn?hl=en, который позволяет вам настроить сочетание клавиш для удаления истории. Я установил ярлык alt+9
Событие триггерной клавиатуры с помощью greasemonkey или tampermonkey
Это код, который я использую для запуска события alt+9
, когда я открываю желаемую веб-страницу.
var event = document.createEvent('Event');
event.initEvent('keydown', true, true);
event.keyCode = 18&&57;
document.body.dispatchEvent(event);
История не очищается, когда я посещаю целевой сайт, и я не уверен, почему. Является ли событие, которое я отправил, не то же самое, что нажатие alt+9
? При ручном нажатии alt+9
ярлык действительно работает.
Edit: Также пробовал
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js
// @grant GM_info
var press = jQuery.Event("keypress");
press.altKey = true;
press.which = 57;
$("whatever").trigger(press);
function GM_main ($) {
//alert ('jQuery is installed with no conflicts! The version is: ' + $.fn.jquery);
}
if (typeof jQuery === "function") {
console.log ("Running with local copy of jQuery!");
GM_main (jQuery);
}
else {
console.log ("fetching jQuery from some 3rd-party server.");
add_jQuery (GM_main, "2.2.2");
}
function add_jQuery (callbackFn, jqVersion) {
var jqVersion = jqVersion || "2.2.2";
var D = document;
var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
var scriptNode = D.createElement ('script');
scriptNode.src = 'http://ajax.googleapis.com/ajax/libs/jquery/'
+ jqVersion
+ '/jquery.min.js'
;
scriptNode.addEventListener ("load", function() {
var scriptNode = D.createElement ("script");
scriptNode.textContent =
'var gm_jQuery = jQuery.noConflict (true);\n'
+ '(' + callbackFn.toString() + ')(gm_jQuery);'
;
targ.appendChild (scriptNode);
}, false);
targ.appendChild (scriptNode);
}