Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 11.08.2012, 17:02
hash666 вне форума Посмотреть профиль Отправить личное сообщение для hash666 Найти все сообщения от hash666
  № 1  
Ответить с цитированием
hash666

Регистрация: Aug 2012
Сообщений: 3
По умолчанию проблемы с swf лоадером

Добрый день.
Столкнулся на первый взгляд с простой проблемой, но вот уже больше суток не могу её решить.
Суть:
делаю прелоадер для приложения вконтакте. Основную флешку выложил скажем на http://mygame.hdd1.ru/mgame.swf так вот её и пытаюсь загрузить.

Код AS3:
package  
{
	/**
	 * ...
	 * @author 1
	 */
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;
	import flash.system.Security;
	import flash.text.TextField;	
	import flash.text.TextFormat;
	import flash.text.TextFieldAutoSize;
	import flash.net.URLLoader;
	import flash.net.URLLoaderDataFormat;
	import flash.net.URLRequestMethod;
	import flash.system.LoaderContext;
	import flash.system.ApplicationDomain;
	import flash.system.SecurityDomain;
 
	public class Main extends Sprite 
	{
 
		private var tf: TextField;
		private var tb: int;
		private var mLoader: Loader;
		private var request:URLRequest;
		private var con: LoaderContext;
 
		public function Main():void 
		{
			Security.allowDomain("*");
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
 
			tf = new TextField();
			addChild(tf);
			tf.autoSize = TextFieldAutoSize.LEFT;
			tf.selectable = false;
			tf.multiline = true;
			tf.x = 150;
			tf.y = 225;
			tf.visible = true;
 
			var format:TextFormat = new TextFormat();
			format.font = "Verdana";
			format.size = 30;
			format.color = 0xF0D13F;
			format.bold = true;
			tf.defaultTextFormat = format;
			tf.text = "ЗАГРУЗКА... 0%";			
 
			loadMovie("http://mygame.hdd1.ru/mgame.swf");			
		}
 
		private function loadMovie(url:String):void {
 
			con = new LoaderContext(false, ApplicationDomain.currentDomain);
 
			request = new URLRequest(url); 
			request.contentType = "application/octet-stream"; 			
			request.method = URLRequestMethod.POST;
 
			mLoader = new Loader();			
			mLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
			mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
			mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
 
			mLoader.load(request, con);
		}
 
		private function onCompleteHandler(loadEvent:Event):void {			
			tf.text = "COMPLETE" + tb.toString();
			addChild(loadEvent.currentTarget.content);			
			addChild(tf);
		}
 
		private function onProgressHandler(event:ProgressEvent):void {			
			tf.text = "ЗАГРУЗКА... " + Math.round(event.bytesLoaded / event.bytesTotal * 100) + "%";  
			tb = event.bytesTotal;
		}
 
		private function ioErrorHandler (e:IOErrorEvent):void {
			tf.text = "ERROR" + tb.toString() + e.text;
		}
	}
 
 
}
локально всё работает, т.е. есть есть грузить не с "http://mygame.hdd1.ru/mgame.swf" а например из "../mgame.swf"

потом случайно выяснил что лоадер грузить не 130 000 байт (именно столько весит mgame.swf), а всего 160.
так вот, если откруть адрес http://mygame.hdd1.ru/mgame.swf в firefox то загркжаеться swf и всё нормально, а если в IE то загружаеться HTML
Код:
<html><body leftmargin=0 topmargin=0 scroll=no> <embed width=100% height=100% fullscreen=yes src="http://mygame.hdd1.ru/mgame.swf"></body></html>n
т весит эта страница именно 160 байт.

почему грузиться какой то HTML а не SWF? кто нибуть с таким сталкивался? Что я делаю не так?

Создать новую тему   Часовой пояс GMT +4, время: 22:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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