Чтение с http-get представления в закладках Firefox - PullRequest
2 голосов
/ 02 сентября 2008

Я пытаюсь заставить плагин Firefox читать данные из HTTP-запроса, анализировать результаты и представлять их в виде ссылок в выпадающем меню, подобном закладке.

Мой вопрос: у кого-нибудь есть пример кода, который сделает это?

Ответы [ 2 ]

2 голосов
/ 02 сентября 2008

Никогда не разрабатывая его самостоятельно, я не уверен, как это обычно делается в плагинах Firefox, но, поскольку сценарии плагина являются JavaScript, я, вероятно, могу помочь с загрузкой. Предполагая переменную с именем url, содержащую URL, который вы хотите запросить:

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, true);

xmlhttp.onreadystatechange = function() {
    if(this.readyState == 4) { // Done loading?
        if(this.status == 200) { // Everything okay?
            // read content from this.responseXML or this.responseText
        } else { // Error occurred; handle it
            alert("Error " + this.status + ":\n" + this.statusText);
        }
    }
};

xmlhttp.send(null);

Пара примечаний по этому коду:

  • Возможно, вам потребуется более сложная обработка кода состояния. Например, 200 не является единственным кодом состояния без ошибок. Подробности о кодах состояния можно найти здесь .
  • Возможно, вам нужен тайм-аут для обработки случая, когда по какой-то причине вы не попадаете на readyState 4 в разумные сроки.
  • Возможно, вы захотите сделать что-нибудь, когда будут получены ранее готовые состояния. Эта страница документирует коды readyState, а также другие свойства и методы объекта XMLHttpRequest, которые могут оказаться полезными.
0 голосов
/ 12 сентября 2008

Роберт Уолкер проделал большую работу, описав , как отправить запрос . Вы можете прочитать больше о xmlhttprequest Mozilla здесь .

Я бы просто добавил, что ответ будет найден (с использованием кода Роберта), используя

 xmlhttp.responseText

( Редактировать - я не читал достаточно внимательно, спасибо, Роберт )

Вы не указали точно, что это были за данные, хотя упомянули о желании проанализировать ссылки из данных. Вы можете использовать xmlhttp.responseText в качестве XML-документа, проанализировать ссылки и поместить его в список менулистов или что угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...