как читать информацию ajax-диалогового окна

#javascript #facebook #jquery #firefox-addon

#javascript #Facebook #jquery #firefox-аддон

Вопрос:

Я хочу разработать расширение firefox с использованием javascript и jQuery, которое извлекает настройки конфиденциальности пользователя в facebook. В меню «Настройки конфиденциальности» вы можете нажать «Изменить настройки», и я хочу прочитать настройки, введенные пользователем.

Вот картинка:

скриншот

У меня было 3 идеи для решения:

Первая идея: я искал в своем скрипте способ «подделать» нажатие на ссылку. Но я не нашел функции… Я пробовал .click() и .trigger(‘click’), но это не работает … есть идеи для этого?

Вторая идея: если нет способа «подделать» этот щелчок, я попытался просто открыть эту ссылку с помощью window.Расположение.href = «http://www.facebook.com/ajax/settings/privacy/connect.php «; но это просто привело меня на стартовую страницу facebook.

последняя идея: сделайте запрос с помощью ajax. Я использовал FireBug, чтобы добраться до параметра. В моем content-скрипте я использовал jQuery:

 var data = '__a=1amp;__d=1amp;__user=100002895945078';

$.ajax({
    type:"GET",
    url:"http://www.facebook.com/ajax/settings/privacy/connect.php",
    data: data,
    success: function(response) {
        alert(response);
    },
    error: function(xhr) {
        alert('Error!  Status = '   xhr.status);
    }
});
  

Я использовал FireBug и обнаружил, что запрос такой же, как если бы я нажал на ссылку «Редактировать настройки». Даже ответ тот же (вы можете увидеть его здесь: http://pastie.org/private/gk7fnfkretolkqd8xlmqhw )
Информация, которая мне нужна, включена в этот ответ, но я не знаю, как к ней добраться.

Я получаю сообщение об ошибке: "Error! Status = 200" , но обычно 200 в порядке !? Диалоговое окно не появляется, и узел DOM не добавляется. Должен ли я делать это сам?

Ответ №1:

Я понял. Проблема заключалась в том, что я забыл установить для типа данных значение text.