дата обновления: 2026-09-25 robots: noindex
Описание
Используйте API chrome.history для взаимодействия с историей посещенных страниц браузера. Вы можете добавлять, удалять и запрашивать URL-адреса из истории браузера. Чтобы заменить страницу истории собственной версией, см. раздел «Замена страниц» .
Разрешения
historyМанифест
Для использования API истории необходимо указать разрешение «история» в манифесте расширения . Например:
{
"name": "My extension",
...
"permissions": [
"history"
],
...
}
Типы переходов
The history API uses a transition type to describe how the browser navigated to a particular URL on a particular visit. For example, if a user visits a page by clicking a link on another page, the transition type is "link".
В следующей таблице описан каждый тип перехода.
| Тип перехода | Описание |
|---|---|
| "связь" | Пользователь попал на эту страницу, перейдя по ссылке на другой странице. |
| "напечатано" | Пользователь попал на эту страницу, введя URL-адрес в адресную строку. Также используется для других явных действий навигации. См. также generated , который используется в случаях, когда пользователь выбрал вариант, который совсем не похож на URL-адрес. |
| "auto_bookmark" | Пользователь попал на эту страницу благодаря подсказке в пользовательском интерфейсе — например, через пункт меню. |
| "auto_subframe" | Навигация по подфреймам. Это любой контент, который автоматически загружается во фрейм, не являющийся фреймом верхнего уровня. Например, если страница состоит из нескольких фреймов, содержащих рекламу, то URL-адреса этих рекламных объявлений имеют этот тип перехода. Пользователь может даже не осознавать, что контент на этих страницах находится в отдельном фрейме, и поэтому может не обращать внимания на URL-адрес (см. также manual_subframe ). |
| "manual_subframe" | Для навигации по подфреймам, явно запрошенной пользователем и создающей новые элементы навигации в списках «назад/вперед», явно запрошенный фрейм, вероятно, важнее, чем автоматически загруженный, поскольку пользователю, скорее всего, важно, что запрошенный фрейм был загружен. |
| "сгенерированный" | Пользователь попал на эту страницу, введя адрес в адресную строку и выбрав запись, которая не выглядела как URL. Например, совпадение могло содержать URL страницы результатов поиска Google, но для пользователя это могло выглядеть как «Найти в Google...». Это не совсем то же самое, что навигация по адресу, введенному пользователем, поскольку пользователь не вводил и не видел целевой URL. См. также ключевое слово . |
| "auto_toplevel" | Эта страница была указана в командной строке или является стартовой страницей. |
| "form_submit" | Пользователь заполнил поля формы и отправил её. Обратите внимание, что в некоторых ситуациях — например, когда форма использует скрипт для отправки содержимого — отправка формы не приводит к такому типу перехода. |
| "перезагрузка" | Пользователь перезагрузил страницу, либо нажав кнопку перезагрузки, либо нажав Enter в адресной строке. Восстановление сессии и повторное открытие закрытой вкладки также используют этот тип перехода. |
| "ключевое слово" | URL был сгенерирован на основе заменяемого ключевого слова, отличного от поискового провайдера по умолчанию. См. также keyword_generated . |
| "keyword_generated" | Соответствует посещению, сгенерированному по ключевому слову. См. также ключевое слово . |
Примеры
Чтобы опробовать этот API, установите пример API истории из репозитория chrome-extension-samples .
Типы
HistoryItem
Объект, содержащий один из результатов запроса к истории.
Характеристики
- идентификатор
нить
Уникальный идентификатор товара.
- lastVisitTime
число необязательно
Время последней загрузки этой страницы, выраженное в миллисекундах с начала эпохи.
- заголовок
строка необязательный
Заголовок страницы при последней загрузке.
- typedCount
число необязательно
Количество раз, когда пользователь перешел на эту страницу, введя указанный адрес.
- url
строка необязательный
URL-адрес, на который перешёл пользователь.
- количество посещений
число необязательно
Количество раз, когда пользователь переходил на эту страницу.
Перечисление
"связь" "напечатано" "auto_bookmark" "auto_subframe" "manual_subframe" "сгенерированный" "auto_toplevel" "form_submit" "перезагрузка" "ключевое слово" "keyword_generated"
Пользователь попал на эту страницу, перейдя по ссылке на другой странице.
Пользователь попал на эту страницу, введя URL-адрес в адресную строку. Это также используется для других действий по навигации.
Пользователь попал на эту страницу благодаря подсказке в пользовательском интерфейсе, например, через пункт меню.
Пользователь попал на эту страницу через навигацию в подфреймах, которую он не запрашивал, например, через рекламу, загружаемую во фрейме на предыдущей странице. При этом не всегда появляются новые пункты навигации в меню «Назад» и «Вперед».
Пользователь попал на эту страницу, выбрав что-либо во вложенном окне.
Пользователь попал на эту страницу, набрав адрес в адресной строке и выбрав пункт, который не выглядел как URL, например, подсказку поиска Google. Например, совпадение могло содержать URL страницы результатов поиска Google, но для пользователя это могло выглядеть как «Найти в Google...». Это отличается от навигации по тексту, поскольку пользователь не вводил и не видел целевой URL. Это также связано с навигацией по ключевым словам.
Эта страница была указана в командной строке или является стартовой страницей.
Пользователь попал на эту страницу, заполнив поля формы и отправив её. Не все отправленные формы используют этот тип перехода.
Пользователь перезагрузил страницу, либо нажав кнопку перезагрузки, либо нажав Enter в адресной строке. Восстановление сессии и повторное открытие закрытой вкладки также используют этот тип перехода.
URL этой страницы был сгенерирован на основе заменяемого ключевого слова, отличного от поискового запроса по умолчанию.
Соответствует посещению, совершенному по ключевому слову.
UrlDetails
Характеристики
- url
нить
URL-адрес операции. Он должен быть в формате, возвращаемом вызовом функции
history.search().
VisitItem
Объект, описывающий одно посещение URL-адреса.
Характеристики
- идентификатор
нить
Уникальный идентификатор соответствующего элемента
history.HistoryItem. - isLocal
логический
Chrome 115+Значение True, если визит был инициирован на этом устройстве. Значение False, если он был синхронизирован с другого устройства.
- referVisitId
нить
Идентификатор посещения источника перехода.
- переход
Тип перехода для данного визита, полученный от источника перехода.
- visitId
нить
Уникальный идентификатор этого визита.
- время посещения
число необязательно
Время этого визита, выраженное в миллисекундах с начала эпохи.
Методы
addUrl()
chrome.history.addUrl(
details: UrlDetails,
callback?: function,
): Promise<void>
Добавляет URL-адрес в историю на текущий момент времени с типом перехода «ссылка».
Параметры
- подробности
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
Обещание<пустота>
Chrome 96+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
deleteAll()
chrome.history.deleteAll(
callback?: function,
): Promise<void>
Удаляет все элементы из истории.
Параметры
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
Обещание<пустота>
Chrome 96+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
deleteRange()
chrome.history.deleteRange(
range: object,
callback?: function,
): Promise<void>
Удаляет из истории все записи за указанный период времени. Страницы не будут удалены из истории, если все посещения не попадают в указанный диапазон.
Параметры
- диапазон
объект
- endTime
число
Элементы, добавленные в историю до этой даты, представлены в миллисекундах с начала эпохи.
- startTime
число
Элементы, добавленные в историю после этой даты, представлены в миллисекундах с начала эпохи.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
Обещание<пустота>
Chrome 96+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
deleteUrl()
chrome.history.deleteUrl(
details: UrlDetails,
callback?: function,
): Promise<void>
Удаляет все вхождения указанного URL-адреса из истории.
Параметры
- подробности
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
Обещание<пустота>
Chrome 96+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
getVisits()
chrome.history.getVisits(
details: UrlDetails,
callback?: function,
): Promise<VisitItem[]>
Получает информацию о посещениях URL-адреса.
Параметры
- подробности
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(results: VisitItem[]) => void
- результаты
Возвраты
Promise< VisitItem []>
Chrome 96+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
search()
chrome.history.search(
query: object,
callback?: function,
): Promise<HistoryItem[]>
Выполняет поиск в истории времени последнего посещения каждой страницы, соответствующей запросу.
Параметры
- запрос
объект
- endTime
число необязательно
Ограничить результаты только теми посещениями, которые состоялись до указанной даты, выраженной в миллисекундах с начала эпохи.
- maxResults
число необязательно
Максимальное количество результатов для получения. По умолчанию — 100.
- startTime
число необязательно
Ограничить результаты только теми посещениями, которые состоялись после указанной даты, выраженной в миллисекундах с начала эпохи. Если параметр не указан, по умолчанию будет установлено значение 24 часа.
- текст
нить
Запрос в свободной текстовой форме к службе истории. Оставьте это поле пустым, чтобы получить все страницы.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(results: HistoryItem[]) => void
- результаты
HistoryItem []
Возвраты
Promise< HistoryItem []>
Chrome 96+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
События
onVisited
chrome.history.onVisited.addListener(
callback: function,
)
Событие срабатывает при посещении URL-адреса, предоставляя данные HistoryItem для этого URL-адреса. Это событие срабатывает до загрузки страницы.
Параметры
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(result: HistoryItem) => void
- результат
onVisitRemoved
chrome.history.onVisitRemoved.addListener(
callback: function,
)
Срабатывает, когда один или несколько URL-адресов удаляются из истории. После удаления всех посещений URL-адрес удаляется из истории.
Параметры
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(removed: object) => void
- удаленный
объект
- всяИстория
логический
Возвращает true, если вся история была удалена. В этом случае URL-адреса будут пустыми.
- URL-адреса
строка[] необязательный