Полезная информация

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№110-07-2008 19:45:59

cesspit
Участник
 
Группа: Members
Откуда: СПб
Зарегистрирован: 08-02-2006
Сообщений: 80
UA: Firefox 3.0

XMLHttpRequest, FireFox 3 и privileges

Здраствуйте,

толкнулся со следующей проблемой: имеется расширение разработанное под FF2.
В коде расширения используется '@mozilla.org/xmlextras/xmlhttprequest;1' для обращения к web-сервису
столкнулся с тем, что на FF3 метод после вызова nsIXMLHttpRequest::send не попадаю на установленный onreadystatechange обработчик, а каким то образом вылетаю в другое место кода расширения, но с помощью venkman-а проследить как туда попадаю не удалось, бряка не срабатывает
такое ощущение, что что-то где-то бросает эксепшн, но не сам send, он затраен и в catch не попадаю
полазив в инете нашёл что-то про изменение привилений на XMLHttpRequest в FF3, но как именно поступать в моей ситуации не понял

код отправки запроса (реализован в методе XPCOM javascript компоненты):

Выделить код

Код:

const cCXMLHTTPRequest = '@mozilla.org/xmlextras/xmlhttprequest;1';
    const cIXMLHttpRequest = Components.interfaces.nsIXMLHttpRequest;

    var self = this;
    var req  = Components.classes[cCXMLHTTPRequest].createInstance(cIXMLHttpRequest);
    req.open('POST', reqURL, true);
    req.channel.loadGroup = this._getLoadGroup();
    req.setRequestHeader("Content-Type", cPTSContentType);
    req.channel.notificationCallbacks = this; // для обработки запроса пароля от IIS-а, в текущем компоненте реализованы nsIInterfaceRequestor, nsIAuthPromptProvider, nsIAuthPrompt
    req.onreadystatechange = function() { self._requestCallback(req, scb, ecb) };
    try {
      req.send(params);
    } catch(ex) {
      return;
    }

буду благодарен за помощь и линки

Отредактировано cesspit (10-07-2008 19:48:31)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]