Манифест расширения Chrome V3 Как читать HTML и текстовое содержимое веб-страницы, которую просматривает мой пользователь
Я пытаюсь узнать, как создавать расширения Chrome, и пытаюсь научиться с новым манифестом v3, поскольку, как я понимаю, это будет нормой в будущем. Однако большая часть документации была довольно жесткой и, похоже, отстала.
Я хочу сделать простое расширение, которое находит определенные ключевые слова на веб-сайте. Я хочу найти текст, который соответствует определенному идентификатору html всякий раз, когда пользователь посещает веб-сайт.
В настоящее время мой фоновый сценарий вызывает отдельный сценарий содержимого, чтобы определить, совпадает ли веб-сайт, на который перешел пользователь, с веб-сайтом, на котором я хочу выполнить поиск. Если я прихожу на соответствующий веб-сайт, вызывается другой сценарий содержимого, который выполняет поиск на веб-сайте.
Вот соответствующий код из моего фонового скрипта:
if (onSite){
scrapeSite(onSite);
}
onSite всегда является истинным / активным только тогда, когда он заполняется URL-адресом сайта, который я хочу посетить.
Соответствующий код для scrapeSite:
function scrapeSite{
try {
book = document.getElementById("bookTitle");
if (book){
console.log(`${book}`);
}
}
catch(err) {
console.log(`No Book Title Found`);
console.log(`${book}`);
}
}
}
Если я удалю перехватчик (err), то в журнале консоли будет выведен следующий ответ обработки ошибок: ReferenceError: документ не определен в scrapeSite
Я действительно просто пытаюсь учиться здесь, поэтому был бы признателен за любые предложения относительно лучшей документации, рекомендуемых вопросов о стеке и т. Д. Также, если вы изучали manifest v3 и у вас есть предложения по хорошей документации / руководствам в целом, это было бы здорово.
1 ответ
Что вам нужно сделать, так это добавить сценарий содержимого в файл манифеста, например:
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content_script.js"]
}
],
С заменой «<all_urls>» URL-адресом сайта или сайтов, в которые вы хотите внедрить контент-скрипт.
Нет необходимости в фоновом сценарии вообще, сценарий контента вводится автоматически, если URL-адрес соответствует шаблону соответствия URL-адреса.
Для получения дополнительной информации вы должны прочитать эту страницу .