chrome.history

更新日: 2026-09-25 robots: noindex

説明

chrome.history API を使用して、ブラウザのアクセスしたページの記録を操作します。ブラウザの履歴に URL を追加したり、履歴から URL を削除したり、履歴内の URL をクエリしたりできます。履歴ページを独自のバージョンでオーバーライドするには、ページのオーバーライドをご覧ください。

権限

history

マニフェスト

History API を使用するには、拡張機能マニフェストで「history」権限を宣言する必要があります。次に例を示します。

{
  "name": "My extension",
  ...
  "permissions": [
    "history"
  ],
  ...
}

切り替え方法

履歴 API は、遷移タイプを使用して、ブラウザが特定の訪問で特定の URL に移動した方法を記述します。たとえば、ユーザーが別のページのリンクをクリックしてページにアクセスした場合、遷移タイプは「link」になります。

次の表に、各遷移タイプの説明を示します。

遷移タイプ説明
"typed"ユーザーがアドレスバーに URL を入力してこのページにアクセスした。他の明示的なナビゲーション アクションにも使用されます。generated もご覧ください。これは、ユーザーが URL とはまったく異なる選択肢を選択した場合に使用されます。
"auto_bookmark"ユーザーが UI の候補(メニュー項目など)からこのページにアクセスした。
"auto_subframe"サブフレーム ナビゲーション。これは、最上位以外のフレームに自動的に読み込まれるコンテンツです。たとえば、ページが広告を含む複数のフレームで構成されている場合、それらの広告 URL にはこの遷移タイプが設定されます。ユーザーは、これらのページのコンテンツが別のフレームであることに気づかない可能性があるため、URL を気にしない可能性があります(manual_subframe も参照)。
"manual_subframe"ユーザーが明示的にリクエストし、戻る / 進むリストに新しいナビゲーション エントリを生成するサブフレーム ナビゲーションの場合。明示的にリクエストされたフレームは、自動的に読み込まれたフレームよりも重要である可能性があります。ユーザーは、リクエストされたフレームが読み込まれたという事実を気にする可能性があるためです。
"generated"ユーザーは、アドレスバーに入力し、URL のように見えないエントリを選択して、このページにアクセスしました。たとえば、一致した URL が Google 検索の検索結果ページの URL であっても、ユーザーには「Google で ... を検索」と表示されることがあります。これは、ユーザーがリンク先 URL を入力したり、表示したりしていないため、入力によるナビゲーションとは異なります。キーワードもご覧ください。
"auto_toplevel"ページがコマンドラインで指定されているか、スタートページである。
"form_submit"ユーザーがフォームに値を入力して送信しました。なお、フォームがスクリプトを使用してコンテンツを送信する場合など、状況によっては、フォームを送信してもこの遷移タイプにならないことがあります。
「reload」ユーザーが再読み込みボタンをクリックするか、アドレスバーで Enter キーを押して、ページを再読み込みしました。セッションの復元と、閉じたタブを再度開く操作でも、この遷移タイプが使用されます。
"キーワード"URL は、デフォルトの検索プロバイダ以外の置換可能なキーワードから生成されました。keyword_generated もご覧ください。
"keyword_generated"キーワードによって発生した訪問に対応します。キーワードもご覧ください。

例

この API を試すには、chrome-extension-samples リポジトリから history API の例をインストールします。

型

HistoryItem

履歴クエリの 1 つの結果をカプセル化するオブジェクト。

プロパティ

  • id

    文字列

    アイテムの固有識別子。

  • lastVisitTime

    number 省略可

    このページが最後に読み込まれた時刻(エポックからのミリ秒単位)。

  • title

    文字列 省略可

    最後に読み込まれたときのページのタイトル。

  • typedCount

    number 省略可

    ユーザーがアドレスを入力してこのページに移動した回数。

  • URL

    文字列 省略可

    ユーザーがアクセスした URL。

  • visitCount

    number 省略可

    ユーザーがこのページに移動した回数。

TransitionType

Chrome 44 以降

この訪問の参照元からの遷移タイプ。

列挙型

"link"
ユーザーは、別のページにあるリンクをクリックしてこのページにアクセスしました。

"typed"
ユーザーがアドレスバーに URL を入力してこのページにアクセスした。これは、他の明示的なナビゲーション アクションにも使用されます。

"auto_bookmark"
ユーザーが UI の候補(メニュー項目など)からこのページにアクセスした。

"auto_subframe"
ユーザーがリクエストしていないサブフレーム ナビゲーション(前のページのフレームに読み込まれた広告など)によって、このページに移動しました。これらによって、戻るメニューと進むメニューに新しいナビゲーション エントリが生成されるとは限りません。

"manual_subframe"
ユーザーがサブフレーム内の何かを選択してこのページにアクセスした。

"generated"
ユーザーがアドレスバーに入力し、URL ではないエントリ(Google 検索候補など)を選択して、このページにアクセスしました。たとえば、一致した候補に Google 検索の検索結果ページの URL が含まれている場合でも、ユーザーには「Google で ... を検索」と表示されることがあります。これは、ユーザーがリンク先 URL を入力したり確認したりしていないため、入力によるナビゲーションとは異なります。また、キーワード ナビゲーションにも関連しています。

"auto_toplevel"
ページがコマンドラインで指定されたか、スタートページです。

"form_submit"
ユーザーがフォームに値を入力して送信し、このページにアクセスした。すべてのフォーム送信でこの遷移タイプが使用されるわけではありません。

"reload"
ユーザーが再読み込みボタンをクリックするか、アドレスバーで Enter キーを押して、ページを再読み込みしました。セッションの復元と、閉じたタブを再度開く操作でも、この遷移タイプが使用されます。

"keyword"
このページの URL は、デフォルトの検索プロバイダ以外の置換可能なキーワードから生成されました。

"keyword_generated"
キーワードに対して生成された訪問に対応します。

UrlDetails

Chrome 88 以降

プロパティ

  • URL

    文字列

    オペレーションの URL。history.search() の呼び出しから返される形式にする必要があります。

VisitItem

URL への 1 回のアクセスをカプセル化するオブジェクト。

プロパティ

  • id

    文字列

    対応する history.HistoryItem の固有識別子。

  • isLocal

    ブール値

    Chrome 115 以降

    このデバイスで訪問が開始された場合は true。別のデバイスから同期された場合は false。

  • referringVisitId

    文字列

    参照元の訪問 ID。

  • transition

    この訪問の参照元からの遷移タイプ。

  • visitId

    文字列

    この訪問の固有識別子。

  • visitTime

    number 省略可

    この訪問が発生した日時(エポックからのミリ秒数)。

メソッド

addUrl()

Promise
chrome.history.addUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

遷移タイプが「link」の URL を現在の時刻で履歴に追加します。

パラメータ

  • 詳細
  • callback

    function 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

deleteAll()

Promise
chrome.history.deleteAll(
  callback?: function,
)
: Promise<void>

履歴からすべてのアイテムを削除します。

パラメータ

  • callback

    function 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

deleteRange()

Promise
chrome.history.deleteRange(
  range: object,
  callback?: function,
)
: Promise<void>

指定した期間内のすべての項目を履歴から削除します。すべてのアクセスが期間内に収まらない限り、ページは履歴から削除されません。

パラメータ

  • 範囲

    オブジェクト

    • endTime

      数値

      この日付より前に履歴に追加されたアイテム(エポックからのミリ秒数で表されます)。

    • startTime

      数値

      この日付以降に履歴に追加されたアイテム。エポックからのミリ秒で表されます。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

deleteUrl()

Promise
chrome.history.deleteUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

指定された URL のすべての出現箇所を履歴から削除します。

パラメータ

  • 詳細
  • callback

    function 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getVisits()

Promise
chrome.history.getVisits(
  details: UrlDetails,
  callback?: function,
)
: Promise<VisitItem[]>

URL へのアクセスに関する情報を取得します。

パラメータ

  • 詳細
  • callback

    function 省略可

    callback パラメータは次のようになります。

    (results: VisitItem[]) => void

戻り値

  • Promise<VisitItem[]>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

Promise
chrome.history.search(
  query: object,
  callback?: function,
)
: Promise<HistoryItem[]>

クエリに一致する各ページの最終アクセス時刻を履歴から検索します。

パラメータ

  • クエリ

    オブジェクト

    • endTime

      number 省略可

      この日付より前にアクセスされた結果に限定します。エポックからのミリ秒単位で表されます。

    • maxResults

      number 省略可

      取得する結果の最大数。デフォルトは 100 です。

    • startTime

      number 省略可

      この日付以降にアクセスされた結果に限定します。エポックからのミリ秒数で表されます。プロパティが指定されていない場合、デフォルトは 24 時間になります。

    • テキスト

      文字列

      履歴サービスに対するフリーテキスト クエリ。すべてのページを取得するには、このフィールドを空のままにします。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    (results: HistoryItem[]) => void

戻り値

  • Promise<HistoryItem[]>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

イベント

onVisited

chrome.history.onVisited.addListener(
  callback: function,
)

URL にアクセスしたときに呼び出され、その URL の HistoryItem データを提供します。このイベントは、ページが読み込まれる前に発生します。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (result: HistoryItem) => void

onVisitRemoved

chrome.history.onVisitRemoved.addListener(
  callback: function,
)

1 つ以上の URL が履歴から削除されたときに呼び出されます。すべての訪問履歴が削除されると、URL は履歴から消去されます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (removed: object) => void

    • 削除済み

      オブジェクト

      • allHistory

        ブール値

        すべての履歴が削除された場合は true。true の場合、URL は空になります。

      • URL

        string[] 省略可