XMLHttpRequest responseText всегда пуст в Firefox WebExtension

У меня возникла проблема при написании надстройки Firefox WebExtension. Следующий код не возвращает никаких данных (responseText пусто), даже если статус запроса равен 4. В Хроме все работает отлично.

Я проверил даже в Fiddler и вижу, что запрос обработан (и мы получили ответ), но похоже, что Firefox не может его прочитать?

var xhr = new XMLHttpRequest();
xhr.open('GET', "http://pi.com//", true);   
xhr.withCredentials = true;
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.send(null);
xhr.onreadystatechange = processRequest;

function processRequest(e) {
    if (xhr.readyState == 4) {
        console.log(xhr.responseText);
    }
};

Я действительно понятия не имею, почему Firefox не заполняет responseText. Я уже проверил это на разных сайтах, но везде одно и то же.


comment
Это страница, которую вы на самом деле запрашиваете? Как настроено ваше расширение?   -  person epascarello    schedule 17.10.2016
comment
Каковы разрешения вашего расширения?   -  person Xan    schedule 17.10.2016
comment
Пожалуйста, отредактируйте вопрос, чтобы он соответствовал теме: включите полный минимальный воспроизводимый пример, который дублирует проблему. Обычно включает manifest.json, некоторые фоновые и скрипты контента. Вопросы по отладке (почему этот код не работает?) должны включать: ►желаемое поведение, ►конкретную проблему или ошибку и ►кратчайший код, необходимый для воспроизведения это в самом вопросе. Вопросы без четкой формулировки проблемы бесполезны для других читателей. См.: Как создать минимально воспроизводимый пример, О каких темах я могу здесь спросить? и Как Спросить.   -  person Makyen♦    schedule 17.10.2016
comment
Что, точно, было показано в консоли браузера (Ctrl-Shift-J или Cmd-Shift-J в OSX)? Сетевой монитор показал запрос/ответ?   -  person Makyen♦    schedule 17.10.2016
comment
Причина, по которой требуется минимально воспроизводимый пример, заключается в том, что мы хотим помочь. Помочь гораздо проще, если нам не нужно заново создавать весь код, необходимый для дублирования проблемы. Это код, который у вас уже есть. Поэтому, пожалуйста, помогите нам помочь вам и предоставьте полный минимальный воспроизводимый пример, который дублирует проблема с такими вопросами. Без минимального воспроизводимого примера количество усилий, необходимых для того, чтобы хотя бы начать помогать вам, много выше, что значительно уменьшает количество людей, желающих/способных вам помочь. Даже если мы приложим дополнительные усилия, нам придется догадываться о значительной части вашей проблемы.   -  person Makyen♦    schedule 18.10.2016


Ответы (2)


В вашем manifest.json попробуйте добавить ключ "permissions": ["http://pi.com/"]

person Noitidart    schedule 17.10.2016

Я имел дело с точно такой же проблемой, когда перенос моего расширения из Chrome в Firefox сводил меня с ума!

В моем случае это было так же просто, как сформированный по почте URL-адрес. Вместо http://example.com/ мне пришлось указать http://www.example.com/

person tube-builder    schedule 22.08.2017