#javascript #ajax #google-chrome-extension
#javascript #ajax #google-chrome-расширение
Вопрос:
Привет любителям расширений Chrome,
Есть ли какой-либо способ, которым мы можем прочитать информацию на веб-странице, открыв ее в фоновом режиме (т. Е. не открывая для нее отдельную вкладку).
Предположим, я нахожусь на сайте A, и у меня есть список URL-адресов (скажем, сайта B, C, D), перечисленных на сайте A. Я должен найти первый URL (в пределах B, C, D), содержащий определенный элемент с известным идентификатором тега. Итак, я должен линейно открывать URL-адреса и проверять наличие элемента на веб-странице. если в B есть требуемый элемент, я должен остановить итерацию или записать это.
Я не знаю, можно ли это сделать с помощью ajax. Нужна помощь. заранее спасибо. дайте мне знать, если что-то неясно.
Ответ №1:
Да, это можно сделать с помощью ajax. Фоновая страница не имеет междоменных ограничений (при условии, что вы объявляете соответствующие правила в манифесте), поэтому вы можете загрузить любой сайт через ajax, выполнить поиск (jQuery здесь был бы идеальным) и при необходимости отправить результаты обратно в скрипт содержимого.
Ajax-запрос в jQuery:
$.ajax({
url: "http://google.com",
type: "GET",
dataType: "html",
error: function() {
//error happened
},
success: function(html) {
//"html" var contains full page source as string
//you can search it using jQuery
var el = $(html).find("#prm");
if(el.length) {
console.log("Element with id 'prm' exists");
}
}
});
Манифест, позволяющий отправлять ajax-запросы на все сайты:
"permissions": [
"http://*/*", "https://*/*"
],