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
を押すと、ショートカットが実際に機能します。
編集:またない作業を行い
// @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);
}