Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   один и тот же код по разному работает в разных браузерах (http://www.flasher.ru/forum/showthread.php?t=116067)

gnus 19.09.2008 11:50

один и тот же код по разному работает в разных браузерах
 
здравствуйте. вот бьюсь над странной проблемой.
вот код php:

Код:

<?
  $test="Test Gzip";
  Header("Content-encoding: gzip");
  echo gzcompress($test, 9);
?>


вот код AS3:

Код:

package {
        import flash.display.*;
        import flash.events.*;
        import flash.net.*;
        import flash.utils.ByteArray;


        public class test_gzip extends Sprite
        {
                private var loader:URLLoader;
                private var request:URLRequest;

                public function test_gzip()
                {
                        Debug.clear();
                        loader = new URLLoader();
                        loader.dataFormat=URLLoaderDataFormat.BINARY;
                        loader.addEventListener(Event.COMPLETE, completeHandler);
                        loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
                        loader.addEventListener(IOErrorEvent.NETWORK_ERROR, netErrorHandler);
                       
                       
                        request = new URLRequest();                       

                        var rand:int=Math.random()*1000000;

                        var str:String = 'http://localhost/test.php?rand=' + rand;

                        request.url=str;
                        loader.load(request);
                       
                }
               
                private function completeHandler(event:Event):void
                {
                        var ba:ByteArray=new ByteArray;
                        ba.writeBytes(event.target.data);
                        Debug.log('пришло: '+event.target.data.length);
                        ba.uncompress();
                        Debug.log('распак: '+ba.length);       
                        Debug.log('data: '+ba);
                }

                private function ioErrorHandler(event:IOErrorEvent):void
                {
                        Debug.log('ioError: '+event.text);
                }
               
                private function netErrorHandler(event:IOErrorEvent):void
                {
                        Debug.log('NetworkError: '+event.text);
                }               



        }
}

flashplayer 9.0.124 debug. установлен корректно.

в опере всё работает:
Цитата:

пришло: 17
распак: 9
data: Test Gzip
в IE работает так:
Цитата:

пришло: 0
распак: 0
data:
в хроме и мозилле работает так:
Цитата:

ioError: Error #2032: Stream Error. URL: http://localhost/test.php?rand=131660

и я не понимаю почему один и тот же код по разному работает в разных браузерах. может я чего-то недопонимаю или в коде ошибка? помогите пожалуйста разобраться.

Chas 19.09.2008 13:32

у меня такой же результат.
если убрать Header("Content-encoding: gzip"); то фф срабатывает. Так что надобно думать в этом направлении.

а, ие тоже, оказывается сработал. кеш почему то не отчистился.
Так что Header("Content-encoding: gzip"); лишний

gnus 19.09.2008 13:43

да. я это уже понял. везде работает.
логично было додуматься, что gzip тут не причём. gzcompress это zlib.

и всё равно непонятно почему плеер в разных браузерах по разному это переваривает.
а в опере так и вообще всё работает и с этим хидером)

Chas 19.09.2008 13:57

ну все правильно.
флеш не напрямую работает с сетью,а пользуется транспортом броузера. Броузеры могут по разному забирать данные и по разному обрабатывать ошибки.

gnus 19.09.2008 14:55

всё равно не понятно. в данном случае дело браузера только получить и передать в плеер данные. данные пришли в браузер? пришли. он их отдал флешу? отдал.
а вот уже флеш и работает с ними. только как-то по разному.
по логике (как я это понимаю) во всех случаях должна быть просто ошибка на этапе распаковки.
может я и туплю.

DarkLight 19.09.2008 19:03

https://bugs.adobe.com/jira/browse/FP-210

Для Flash Player 9.0.115.0 это было известной багой. Возможно, дебаг-версия 124.0 тоже ей подвержена

Chas 19.09.2008 19:22

ну это не совсем та же ошибка imo


Часовой пояс GMT +4, время: 07:14.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.