Закрыть вкладки в Хроме
Как автоматически закрыть вкладки хрома, соответствующие некому шаблону? Хотелось бы ещё при этом сохранить список адресов закрытых вкладок.
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
Можно сделать своё расширение или открыть в режиме отладки любое расширение, имеющее доступ к адресам открытых вкладок (по умолчанию хром предоставляет доступ к chrome.tabs, но не к их адресам - для этого надо явно запросить в манифесте "tabs"). Далее выполняем такой код, предварительно поместив в PATTERN нужную регулярку:
var PATTERN = /^(view-source:)?https?:\/\/localhost[:/]/
chrome.tabs.query({}, tabs => {
var toRemove = tabs.filter(t => t.url.match(PATTERN))
if (!toRemove.length) return console.log("Nothing to close")
var wnd = window.open()
var text = [PATTERN, new Date().toLocaleString(), "", ...toRemove.map(t => t.url), ""].join("\n")
wnd.document.write(`<a href="${URL.createObjectURL(new Blob([text]))}" download="Closed tabs.txt">download</a><plaintext>${text}`)
chrome.tabs.remove(toRemove.map(t => t.id), () => {
console.log(`Closed ${toRemove.length} tabs`)
wnd.document.close()
wnd.document.querySelector("a").click()
})
})