Я хочу удалить большое количество определенных элементов из истории Chrome.
Я могу выполнить поиск по своему термину, но затем мне нужно установить много флажков, чтобы удалить все элементы. Есть ли способ сделать этот процесс быстрее?
Я хочу удалить большое количество определенных элементов из истории Chrome.
Я могу выполнить поиск по своему термину, но затем мне нужно установить много флажков, чтобы удалить все элементы. Есть ли способ сделать этот процесс быстрее?
Вы также можете Shift+клик, чтобы выбрать несколько элементов в истории и удалить их одновременно.
Это работает с Chrome версии 33 и, возможно, более ранних версий.
Выполните поиск, чтобы вызвать элементы, которые вы хотите удалить историю.
Откройте консоль инструментов разработчика Chrome, нажав Ctrl+Shift+J.
Убедитесь, что в качестве целевого кадра для консоли выбран кадр истории.
Выполните следующий фрагмент в консоли (вставив его и нажав Enter), чтобы отметить все флажки в истории.
var checkboxes = $$( "input[type='checkbox']" );
for( var i = 0; i < checkboxes.length; ++i ) {
checkboxes[ i ].checked = true;
}
Не забудьте перепроверить выбор и снять отметки с предметов, которые вы на самом деле не хотите удалять!
Очистите выбранные элементы из своей истории, нажав Удалить выбранные элементы.
Вот что я написал в JavaScript .. Работает через консольный отладчик. Я пытался использовать его в закладке, но не получил ответа со страницы ..
** // ОБНОВЛЕНИЕ (07.28.15)
Я добавил более короткий подход, предложенный @Denis Gorbachev, к настройке флажка, что помогло сократить часть этого кода. Я также добавил функциональность « автостоп », то есть цикл остановится, как только он окончательно очистит список.
** // ОБНОВЛЕНИЕ (08.20.14)
Я сделал несколько изменений в коде, чтобы сделать его более удобным для пользователя. Другие пользователи могут не разбираться в кодах, а другие могут просто предпочесть удобство. Поэтому я нажал пару кнопок (старт / стоп), чтобы контролировать использование; а также устранение некоторых исключений / ошибок "ASSERTION FAILED", которые были выданы при попытке запустить цикл сценария. Наслаждаться!!
Шаг 1) В адресной строке введите следующий адрес для доступа к странице истории. Обычно он загружается в iframe, а левое меню загружается в другой кадр.
chrome://history-frame/
Шаг 2) Загрузите ваш консольный отладчик / просмотрщик, нажав Ctrl+Shift+J
(Для пользователей Mac: ⌘+⌥+J)
Примечание: Вы также можете нажать F12 и выбрать вкладку « Консоль ».
Шаг 3) В Console Debugger/Viewer скопируйте и вставьте следующий код:
function removeItems() {
removeButton = document.getElementById('remove-selected');
overlayWindow = document.getElementById('overlay');
//revision (07.28.15): Replaced the For Loop targeting the checkboxes, thanks to Denis Gorbachev via comments (02.19.15)
Array.prototype.forEach.call(document.querySelectorAll("input[type=checkbox]"), function(node) {node.checked = "checked"});
setTimeout(function () {
if (removeButton.getAttribute("disabled") !== null) {
removeButton.removeAttribute("disabled")
}
/* revision (08.20.14): no longer binding to that condition, button should no longer be disabled, so click! */
if ((overlayWindow.hasAttribute("hidden")) && (overlayWindow.getAttribute("hidden") !== false)) {
removeButton.click();
}
/* revision (08.20.14): new Interval, to check against the overlay DIV containing the confirmation "Remove" button */
/* Attempting to click the button while the DIV's "hidden" attribute is in effect will cause FAILED ASSERTION */
stopButton = setInterval(function () {
if (overlayWindow.hasAttribute("hidden")) {
if (overlayWindow.getAttribute("hidden") == "false") {
hidden = false
} else {
hidden = true
}
} else {
hidden = false
}
if (!hidden) {
document.getElementById("alertOverlayOk").click();
clearInterval(stopButton)
}
}, 250)
}, 250)
}
//revision (08.20.14): Lets build our buttons to control this so we no longer need the console
//stop button (08.20.14)
var stopButton = document.createElement('button');
stopButton.setAttribute('id', "stopButton");
stopButton.innerHTML = "Stop";
stopButton.style.background = "#800";
stopButton.style.color = "#fff";
stopButton.style.display = "none";
stopButton.onclick = function () {
clearInterval(window.clearAllFiltered);
document.getElementById("stopButton").style.display = "none";
document.getElementById("startButton").style.display = ""
};
//start button (08.20.14)
var startButton = document.createElement('button');
startButton.setAttribute('id', "startButton");
startButton.innerHTML = "Start";
startButton.style.background = "#090";
startButton.style.color = "#fff";
startButton.onclick = function () {
window.clearAllFiltered = setInterval(function () {
/* revision (07.28.15): Stop the Loop automatically if there are no more items to remove */
if(document.getElementById("results-header").innerText=="No search results found."){
document.getElementById("stopButton").click();
}
if (document.getElementById("loading-spinner").getAttribute("hidden") !== null) {
removeItems()
}
}, 250); //adjust Time Here (1500 [millisec] = 1.5sec)
document.getElementById("stopButton").style.display = "";
document.getElementById("startButton").style.display = "none"
};
/* revision (08.20.14): Now we add our buttons, and we're ready to go! */
editingControls = document.getElementById('editing-controls');
editingControls.appendChild(stopButton);
editingControls.appendChild(startButton);
Эта функция removeItems выберет цикл по всем входам формы и установит все флажки, включит кнопку "Удалить выбранные элементы" и щелкнет по ней. Через полсекунды он проверит, отображается ли приглашение "Вы уверены", и, если это так, автоматически нажмите кнопку «Да / Удалить», чтобы загрузить новый список элементов для этого процесса. все снова ..
Элемент зацикливается с помощью переменной "clearAllFiltered", которая представляет собой цикл setInterval, который проверяет состояние экрана "Загрузка".
Чтобы начать стирать отфильтрованные элементы истории, теперь вы можете нажать зеленую кнопку « Пуск» .
** // ОБНОВЛЕНИЕ (28.07.2015) Теперь оно остановится на СВОЕМ.
Чтобы остановить цикл вручную, теперь вы можете нажать красную кнопку « Стоп» . Просто как тот!
Вы можете воспользоваться хакерским ярлыком, вставляющим код JavaScript.
Шаг 1 Поскольку история Chrome запрашивается внутри iFrame, мы должны посетить:chrome://history-frame/ (скопировать и вставить URL)
Шаг 2 Выполните поисковый запрос.
Шаг 3 Откройте консоль Chrome (F12 или CTRL + SHIFT + I или ⌘ ⌥ я) и выполнить:
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; ++i) {
if (inputs[i].type == "checkbox"){
inputs[i].checked = true;
}
}
document.getElementById("remove-selected").disabled = false
Шаг 4 Нажмите кнопку « Удалить выбранные элементы ».