Описание
Используйте 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-адреса
строка[] необязательная