Страницы: 1
Здраствуйте,
толкнулся со следующей проблемой: имеется расширение разработанное под 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)
Отсутствует
Страницы: 1