11

是否可以有选择地从 Google Chrome 浏览历史记录中删除项目?我的历史中有一个网站,每次我用特定字母开始搜索时都希望成为默认网站,但我经常参考我的历史来重新查找内容。

所以我想从 www.pythonismyfavoritest.com 中删除所有历史记录而不删除所有内容;那可能吗?

4

5 回答 5

19

尝试www.pythonismyfavoritest.com在搜索栏中搜索chrome://history/,然后通过单击左侧的复选框然后单击“删除选定项目”按钮来删除每个项目。

chrome history api适用于url,例如chrome://history/#q=hello&p=0

https://dl.dropboxusercontent.com/u/31568408/Capture.PNG

于 2013-09-03T17:25:45.447 回答
19

这是我用 JavaScript 写的。它通过控制台调试器工作。我尝试在书签中使用它,但我没有得到页面的响应。

** // 更新 (07.28.15)
我在复选框定位中添加了@Denis Gorbachev 提供的更短的方法,这有助于缩短其中的一些代码。我还添加了“自动停止”功能,这意味着循环将在最终清除列表后停止。

** // 更新 (08.20.14)
我对代码进行了一些更改,使其更加用户友好。其他用户可能不精通代码,而其他用户可能只是更喜欢方便。因此,我启动了几个按钮(开始/停止)来控制使用;以及解决尝试运行脚本循环时抛出的一些“断言失败”异常/错误。享受!

在您的地址栏中,输入以下地址到历史页面的内容。它通常加载在 iframe 中,左侧菜单加载在另一个框架中.. // **

chrome://history-frame/

接下来,通过按Ctrl+ Shift+加载您的控制台调试器/查看器J
(对于 Mac 用户,⌘</kbd>+⌥</kbd>+J)

您也可以按下F12并选择“控制台”选项卡。

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 函数将选择循环遍历所有表单输入并选中所有复选框,启用“删除所选项目”按钮并单击它。半秒后,它会检查是否显示“Are You Sure”提示,如果是,则自动为您单击“Yes/Remove”按钮,以便加载新的项目列表来执行此过程一切从头再来。。

该项目使用变量“clearAllFiltered”循环,这是一个 setInterval 循环,用于检查“加载”屏幕的状态。

要开始删除过滤的历史项目,您现在可以单击绿色Start按钮。

** // 更新 (07.28.2015) 它现在将停止在它自己的位置。

要手动停止循环,您现在可以单击红色Stop按钮。就那么简单!

于 2014-07-07T17:36:01.560 回答
9

1)转到您的历史设置( chrome://history/ )

2) 右上角将是一个带有“搜索历史”按钮的搜索栏

3) 输入要从历史记录中删除的站点名称,然后单击按钮

4)单击第一个框,然后滚动到页面底部

5)按住Shift键,然后单击最后一个框(这将检查该页面上的所有内容)

6)向上滚动并选择“删除所选项目”按钮

7) 重复步骤 4-6,直到您的所有 Youtube 历史记录消失。

希望 Chrome 会更新此清除历史记录功能,但目前这似乎是最快的选择

于 2014-07-03T10:58:58.743 回答
5

简单的方法是 Shift+Delete。

例如,当您键入“you”时,“youtube.com”将在建议中显示为已选择。只需单击 Shift+Delete。然后重新输入“you”,您将不再在该列表中看到“youtube.com”。

于 2015-10-30T11:17:13.220 回答
1

如果您正在谈论摆脱建议的搜索/自动完成......然后从您的 chrome://history 中删除特定项目将不会这样做(根据我的经验)。我想更详细地填写@LacOniC给出的答案。

Chrome 自动完成

在屏幕截图中,您可以看到我输入了“ba”,Chrome 会根据我的浏览历史记录(绿色项目)建议完成。

根据我的经验,从您的历史记录中删除特定项目不会将它们从显示在此地址栏自动完成中删除。

要快速删除这些自动完成项目:

  1. 开始输入一些产生违规建议的字母。
  2. 使用键盘的箭头键选择您不喜欢的建议(所选项目在屏幕截图中以蓝色突出显示)。
  3. shift+delete在 windows 或mac 上按shift+fn+delete以删除所选项目。
于 2016-03-19T12:40:22.130 回答