chromeの検索履歴を検索して一括削除するchrome拡張を作る
chromeの検索履歴を検索して一括削除するchrome拡張を作る:
chromeの検索履歴を検索して一括削除するchrome拡張を作りました。
URL横のiconボタンを押すとポップアップが表示され、テキストボックス、ボタンが表示される
基本的な形のchrome拡張のサンプルになればと思います。
普段chromeの検索バーの補完機能を多用しています。
ですが、必要ないURLや間違えたURLも候補であがってきてしまうので、どうにか削除したいです。
補完候補をshift + (fn)deleteで削除できるという記事もいくつか見つけましたが、削除できませんでした。
chromeバージョン:71.0.3578.98
そこで履歴から削除すれば候補から消えるだろう!と思い作成しました。
消えませんでした
chromeのURL欄の補完候補を削除する方法がわかる方教えてください。
(補完機能は使いたいです)
chrome history APIのドキュメント
Chrome拡張 備忘録 1から10まで
Chrome拡張の開発方法まとめ その1:概念編
はじめに
chromeの検索履歴を検索して一括削除するchrome拡張を作りました。URL横のiconボタンを押すとポップアップが表示され、テキストボックス、ボタンが表示される
基本的な形のchrome拡張のサンプルになればと思います。
作ったもの
- Browser Actionボタンを押すとテキストボックス、ボタンが表示されます。
- 検索ワードを入力後SEARCHボタンを押すと履歴検索結果を表示します。
- DELETEボタンを押すと表示されているリストを履歴から削除します。
やりたかったこと
普段chromeの検索バーの補完機能を多用しています。ですが、必要ないURLや間違えたURLも候補であがってきてしまうので、どうにか削除したいです。
補完候補をshift + (fn)deleteで削除できるという記事もいくつか見つけましたが、削除できませんでした。
chromeバージョン:71.0.3578.98
そこで履歴から削除すれば候補から消えるだろう!と思い作成しました。
結果
消えませんでした
構成
manifest.json
{ "manifest_version": 2, "name": "Delete History", "version": "0.0.1", "description": "履歴をキーワード検索後削除します。", "author": "jimpei", "browser_action": { "default_icon": "icon.png", "default_popup": "popup.html" }, "permissions": [ "history" ] }
popup.html
<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <link rel="stylesheet" href="style.css"> <title>Delete History</title> </head> <body> <input type="text" id='searchText'> <button id='searchBotton'>SEARCH</button> <button id='deleteBotton'>DELETE</button> <ul id='historyList'></ul> <script src='popup.js'></script> </body> </html>
popup.js
let deleteArray = [] document.addEventListener('DOMContentLoaded', function () { // SEARCHイベントのクリックイベント設定 let divs = document.querySelectorAll('#searchBotton') divs[0] = divs[0].addEventListener('click', searchClickEvent) // DELETEイベントのクリックイベント設定 divs = document.querySelectorAll('#deleteBotton') divs[0] = divs[0].addEventListener('click', deleteClickEvent) }) // SEARCHクリックイベント function searchClickEvent(e) { let ul = document.querySelector('#historyList') let searchText = document.querySelector('#searchText') let html = '' let microsecondsPerDay = 1000 * 60 * 60 * 24 // とりあえず過去20年を対象 let searchStartDate = (new Date).getTime() - microsecondsPerDay * 365 * 20 // TODO:startTime, endTimeをテキストボックスから指定 let searchQuery = { text: searchText.value, startTime: searchStartDate, maxResults: 10000 } deleteArray = [] // 履歴取得 chrome.history.search(searchQuery, function (historyItems) { let cnt = 0 // 履歴の数だけループし、検索結果を表示する historyItems.forEach(function (historyItem) { cnt++ deleteArray.push(historyItem.url) html += '<li><a href="' + historyItem.url + '" target="_blank">' + cnt + ':' + historyItem.title + '<br>' + historyItem.url + '</a></li>' }) ul.innerHTML = 'target:' + cnt + html }) } // DELETEクリックイベント function deleteClickEvent(e) { deleteArray.forEach(function (url) { // このログはicon右クリック→ポップアップを検証で表示されるconsoleに表示される console.log('deleted:' + url) chrome.history.deleteUrl({url: url}) }) }
最後に
chromeのURL欄の補完候補を削除する方法がわかる方教えてください。(補完機能は使いたいです)
参考
chrome history APIのドキュメントChrome拡張 備忘録 1から10まで
Chrome拡張の開発方法まとめ その1:概念編
コメント
コメントを投稿