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