>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Подсунуть http-запросу контент без выполнения самого запроса к серверу http://forum.mozilla-russia.org/viewtopic.php?id=43550 |
pan > 04-03-2010 14:31:18 |
Всем доброго дня. Имеется задача: Собственно, с пунктом 1 я справился без особых проблем. Вот пункты 2 и 3 увели меня в дебри. Здорово помогла статья http://www.gamerotor.com/node/212 и листинг, указанный в ней. Однако у меня вариант copy-paste не прокатил, т.к. едва я вернул из метода newChannel() результат вызова ioServices.newChannel("file://myfile", null, null), то получил security alert. Этого, конечно, стоило ожидать. И вот на этом этапе - затык... куда копать дальше? Я попробовал такой вариант: Выделить код Код:newChannel: function(locationURI) { ... var iFile = функцияВозвращающаяNSIFILE(); // указывает на txt var istream = CC["@mozilla.org/network/file-input-stream;1"].createInstance(CI.nsIFileInputStream); // open for reading istream.init(iFile, 0x01, 0444, 0); var channel = CC["@mozilla.org/network/input-stream-channel;1"] .createInstance(CI.nsIInputStreamChannel); channel.setURI(locationURI); channel.contentStream = istream; if (channel) { return channel; } ... Работает нормально, но такое впечатление, что firefox не понимает, что именно ему подсовывают. Текстовый файл содержит JSON (в ходе экспериментов в него были добавлены заголовки ответа HTTP-сервера).
Ругается в консоль:
и стрелочкой указывает на первую цифру 1 (в версии протокола). Прошу помощи |
arka > 05-03-2010 12:40:30 |
Возможно, первая строка должна быть не HTTP/1.1 200 Ok, а Status: 200 |