Вот то, что я придумал, вы можете запустить в консоли background
для тестирования. Он устанавливает слушателя, открывает новую вкладку, и слушатель проверяет соответствие URL, затем удаляет новый элемент истории. Наконец, он выполняет поиск в истории, чтобы подтвердить, что элемент был удален:
var url = 'http://stackoverflow.com'
// Get current window
chrome.windows.getCurrent(function(win) {
// Add temporary listener for new history visits
chrome.history.onVisited.addListener(function listener(historyItem) {
// Check if new history item matches URL
if (historyItem.url.indexOf(url) > -1) {
console.log('Found matching new history item', historyItem)
var visit_time = historyItem.lastVisitTime
// Delete range 0.5ms before and after history item
chrome.history.deleteRange({
startTime: visit_time - 0.5,
endTime: visit_time + 0.5
}, function() {
console.log('Removed Visit', historyItem)
// Get history with URL and see if last item is listed
chrome.history.search(
{text:'stackoverflow'},
function(result) {
console.log('Show History is deleted:', result)
} )
});
chrome.history.onVisited.removeListener(listener)
}
});
// Create new tab
chrome.tabs.create({
windowId: win.id,
url: url,
active: false
}, function(tab) {
console.log('Created tab')
})
});
Использование только visit_time
, так как и startTime
, и endTime
не работали для меня. Хотя вряд ли это удалит больше, чем новая запись.