Описание
 Используйте API chrome.history для работы с историей посещённых страниц браузера. Вы можете добавлять, удалять и запрашивать URL-адреса в истории браузера. Чтобы переопределить страницу истории своей версией, см. раздел Переопределение страниц .
Разрешения
historyДля взаимодействия с историей браузера пользователя используйте API истории.
 Чтобы использовать API истории, объявите разрешение "history" в манифесте расширения . Например:
{
  "name": "My extension",
  ...
  "permissions": [
    "history"
  ],
  ...
}
Концепции и использование
Типы переходов
API истории использует типы переходов для описания того, как браузер перешёл к определённому URL-адресу во время конкретного посещения. Например, если пользователь переходит на страницу, щёлкнув по ссылке на другой странице, тип перехода — «ссылка». Список типов переходов см. в справочном материале .
Примеры
Чтобы опробовать этот API, установите пример API истории из репозитория chrome-extension-samples .
Типы
HistoryItem
Объект, инкапсулирующий один результат запроса истории.
Характеристики
- идентификаторнить Уникальный идентификатор элемента. 
- lastVisitTimeномер необязательно Время последней загрузки страницы (в миллисекундах с начала эпохи). 
- заголовокстрока необязательная Название страницы при последней загрузке. 
- typedCountномер необязательно Сколько раз пользователь переходил на эту страницу, вводя адрес. 
- URL-адресстрока необязательная URL-адрес, по которому перешел пользователь. 
- visitCountномер необязательно Количество переходов пользователя на эту страницу. 
Перечисление
 "связь"  "напечатанный"  "авто_закладка"  "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булев Хром 115+True, если посещение было совершено с этого устройства. False, если оно было синхронизировано с другого устройства. 
- referingVisitIdнить Идентификатор посещения реферера. 
- переходТип перехода для данного посещения от реферера. 
- visitIdнить Уникальный идентификатор этого посещения. 
- visitTimeномер необязательно Когда произошел этот визит, указано в миллисекундах с начала эпохи. 
Методы
addUrl()
chrome.history.addUrl(
details: UrlDetails,
): Promise<void>
Добавляет URL-адрес в историю на текущий момент времени с типом перехода «ссылка».
Параметры
- подробности
Возврат
- Обещание<void> Хром 96+
deleteAll()
chrome.history.deleteAll(): Promise<void>
Удаляет все элементы из истории.
Возврат
- Обещание<void> Хром 96+
deleteRange()
chrome.history.deleteRange(
range: object,
): Promise<void>
Удаляет все элементы из истории в указанном диапазоне дат. Страницы не будут удалены из истории, если только все посещения не попадают в этот диапазон.
Параметры
- диапазонобъект - время окончаниячисло Элементы, добавленные в историю до указанной даты, выраженные в миллисекундах с начала эпохи. 
- время началачисло Элементы, добавленные в историю после указанной даты, представлены в миллисекундах с начала эпохи. 
 
Возврат
- Обещание<void> Хром 96+
deleteUrl()
chrome.history.deleteUrl(
details: UrlDetails,
): Promise<void>
Удаляет все вхождения указанного URL из истории.
Параметры
- подробности
Возврат
- Обещание<void> Хром 96+
getVisits()
chrome.history.getVisits(
details: UrlDetails,
): Promise<VisitItem[]>
Извлекает информацию о посещениях URL-адреса.
Параметры
- подробности
Возврат
- Обещание< VisitItem []> Хром 96+
search()
chrome.history.search(
query: object,
): Promise<HistoryItem[]>
Выполняет поиск в истории времени последнего посещения каждой страницы, соответствующей запросу.
Параметры
- запрособъект - время окончанияномер необязательно Ограничить результаты теми, которые были посещены до указанной даты, выраженной в миллисекундах с начала эпохи. 
- maxResultsномер необязательно Максимальное количество результатов для извлечения. По умолчанию 100. 
- время началаномер необязательно Ограничить результаты просмотрами после указанной даты, выраженной в миллисекундах с начала эпохи. Если свойство не указано, по умолчанию будет использоваться значение 24 часа. 
- текстнить Запрос к службе истории в произвольном тексте. Оставьте это поле пустым, чтобы получить все страницы. 
 
Возврат
- Обещание< HistoryItem []> Хром 96+
События
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, если вся история была удалена. Если true, то URL-адреса будут пустыми. 
- URL-адресастрока[] необязательная