Загрузка вкладки в фоновом режиме и получение некоторой информации из нее - PullRequest
0 голосов
/ 12 мая 2011

Привет фанатам расширений Chrome,

Можно ли как-то прочитать информацию на веб-странице, открыв ее в фоновом режиме (т.е. не открывая для нее отдельную вкладку).

Предположим,Я на сайте A, и у меня есть список URL-адресов (скажем, сайт B, C, D), перечисленных на сайте A. Я должен найти первый URL (в пределах B, C, D), имеющий определенный элемент с известнымTagID.Поэтому я должен линейно открыть URL-адреса и проверить наличие элемента на веб-странице.если у B есть обязательный элемент, я должен остановить итерацию или записать ее.

Не знаю, можно ли это сделать с помощью ajax.Нужна помощь.заранее спасибо.Дай мне знать, если что-то расплывчато.

1 Ответ

1 голос
/ 12 мая 2011

Да, это можно сделать с помощью 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://*/*"
],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...