Форум 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? кто нибуть с таким сталкивался? Что я делаю не так?

Старый 11.08.2012, 21:40
t4arty вне форума Посмотреть профиль Отправить личное сообщение для t4arty Найти все сообщения от t4arty
  № 2  
Ответить с цитированием
t4arty

Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
пользуйтесь тегом <object> для вставки флеша на страницу. как? (посмотрите в соседних темах форума, были поддобные темы)

Старый 11.08.2012, 21:42
hash666 вне форума Посмотреть профиль Отправить личное сообщение для hash666 Найти все сообщения от hash666
  № 3  
Ответить с цитированием
hash666

Регистрация: Aug 2012
Сообщений: 3
Если проще то:
Вконтакт нужно загрузить swf который будет загружаться при старте приложения. так вот загрузил я этот swf который в свою очередь являеться лоадером и загружает основную swf, но этого не происходит вместо swf приходит HTML.

Если же и лоадер и основной swf на одном сайте то всё получается, а если пробуем грузиьб с другого то Error #2036

Добавлено через 15 часов 25 минут
пример php скрипта который вернёт mgame.swf
PHP код:
<?php
$file 
= ("mgame.swf");
header ("Content-Type: application/octet-stream");
header ("Accept-Ranges: bytes");
header ("Content-Length: ".filesize($file));
readfile($file);
?>


Последний раз редактировалось hash666; 12.08.2012 в 13:07.
Старый 12.08.2012, 14:50
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
пользуйтесь тегом <object> для вставки флеша на страницу. как? (посмотрите в соседних темах форума, были поддобные темы)
Кто ж ему даст-то страницу вконтакте изменять )
Цитата:
Если же и лоадер и основной swf на одном сайте то всё получается
В корневой директории домена есть файл политик crossdomain.xml с нужными разрешениями?

Старый 12.08.2012, 15:59
t4arty вне форума Посмотреть профиль Отправить личное сообщение для t4arty Найти все сообщения от t4arty
  № 5  
Ответить с цитированием
t4arty

Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
что за ошибка #2036, что выдает описание ошибки?

Старый 12.08.2012, 16:01
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
что за ошибка #2036
Это ошибка ввода / вывода. Файл не удается загрузить. И скорее всего дело в междоменной политике

Старый 13.08.2012, 13:25
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 7  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Честно говоря, по ссылке, что Вы сбросили ничего ен лежит. Может быть проблема в этом?)
__________________
ranga

Старый 13.08.2012, 14:32
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 8  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
скорее это просто ссылка для примера, возможно с локалки

Старый 13.08.2012, 19:30
hash666 вне форума Посмотреть профиль Отправить личное сообщение для hash666 Найти все сообщения от hash666
  № 9  
Ответить с цитированием
hash666

Регистрация: Aug 2012
Сообщений: 3
Цитата:
В корневой директории домена есть файл политик crossdomain.xml с нужными разрешениями?
Код:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
<site-control permitted-cross-domain-policies="all"/>
</cross-domain-policy>
что я там только не пробовал писать =) ничего не помогает

а вообще, решение с php меня более чем устраивает

Старый 13.08.2012, 19:57
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 10  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
hash666, тесты локальные? С какого браузера?

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

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

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


 


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


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