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

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

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

Регистрация: Apr 2007
Сообщений: 6
Attention Никак не подгружается swf с другого домена

Люди, человеки, подскажите в чем может быть проблема.

У меня необходима загрузка в myApp.swf, который находиться на domain1.ru, другого swf (remoteApp.swf), который находиться на домене domain2.ru. Документации по этому виду нашел уже уйму и все они одинаковые, с небольшой разницей, но у меня никак это не работает.

В myApp.swf прописан следующий код:
Код AS3:
import flash.display.*; 
import flash.net.URLRequest; 
import flash.system.ApplicationDomain;
import flash.system.LoaderContext;
flash.system.Security.loadPolicyFile("http://domain2.ru/crossdomain.xml"); 
// Этой строки не было, и как я понял они нужна только в том случае, когда crossdomain.xml находиться в отличной от корневой директории.
 
var rect:Shape = new Shape(); 
rect.graphics.beginFill(0xf0f0f0); 
rect.graphics.drawRect(0, 0, 607, 590); 
addChild(rect); 
var ldr:Loader = new Loader(); 
ldr.mask = rect; 
ldr.x = 23.5;
ldr.y = 142;
var url:String = "http://domain2.ru/remoteApp.swf"; 
var urlReq:URLRequest = new URLRequest(url); 
var ldrContext:LoaderContext = new LoaderContext(true);
//var ldrContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain); - эта строка стояла ранее, но эффект тот же что и с предыдущей.
ldr.load(urlReq, ldrContext);
addChild(ldr);
crossdomain.xml
Код:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>
В итоге ничего не работает и я уже не знаю как и что мне делать. Помогите пожалуйста, заранее очень благодарен.


Последний раз редактировалось Limy; 02.10.2009 в 12:27. Причина: мелкие исправления (опечатки)
Старый 02.10.2009, 13:32
cybercub вне форума Посмотреть профиль Отправить личное сообщение для cybercub Найти все сообщения от cybercub
  № 2  
Ответить с цитированием
cybercub

Регистрация: Nov 2005
Сообщений: 34
думаю хорошо иметь дебажный плеер и знать какая ошибка выдается 8)

Старый 02.10.2009, 17:34
Limy вне форума Посмотреть профиль Отправить личное сообщение для Limy Найти все сообщения от Limy
  № 3  
Ответить с цитированием
Limy
 
Аватар для Limy

Регистрация: Apr 2007
Сообщений: 6
Цитата:
Сообщение от cybercub Посмотреть сообщение
думаю хорошо иметь дебажный плеер и знать какая ошибка выдается 8)
А какой плеер посоветуешь? И как debug делать? Я такого ни разу не делал, sorry за глупость...

Старый 02.10.2009, 17:39
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 4  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
пфф сашибись, короче все что пишут на форуме мы совершенно игнорируем и не читаем,

http://www.adobe.com/support/flashplayer/downloads.html
лучше вот этот и только вот этот)))

Старый 02.10.2009, 18:11
Limy вне форума Посмотреть профиль Отправить личное сообщение для Limy Найти все сообщения от Limy
  № 5  
Ответить с цитированием
Limy
 
Аватар для Limy

Регистрация: Apr 2007
Сообщений: 6
Вообщем я там и не понял как debug сделать на странице сервера, нажимая правой кнопкой на swf и выбирая пункт "Отладчик" появляется окошко, где можно выбрать Локальный компьютер или Другой компьютер. Выбрав локальный она мне вывела ошибку: Adobe Flash Player 10 не удалось подключиться к отладчику или профилировщику.

но я сделал по другому и получил вот такой вот ответ при дебаге:
Код:
Attemping to launch and connect to Player using URL E:\www\home\elvesound.ru\vk\vk-promo.swf
[SWF] E:\www\home\elvesound.ru\vk\vk-promo.swf - 232736 bytes after decompression
Предупреждение: Для домена vk.elvesound.ru не указана метаполитика. Применяется метаполитика по умолчанию "master only" ("только мастер"). Эта конфигурация исключается. Чтобы исправить эту проблему, перейдите на веб-страницу http://www.adobe.com/go/strict_policy_files_ru.


[SWF] /preview.swf - 617874 bytes after decompression
Debug session terminated.
Но сам факт такой, что доступ к crossdomain.xml реально есть. Адрес такой: http://vk.elvesound.ru/crossdomain.xml Я так понимаю crossdomain.xml - это и есть та самая метаполитика, потому что другой информации на офф. сайте не нашел.

Добавлено через 6 минут
Сейчас поставил на файл crossdomain.xml права 777 и debug вообще не показал ни одной ошибки, но удаленный swf так и не загрузился...

Добавлено через 9 минут
Повторный debug показал туже ошибку. Вообще если честно ничего не понимаю.

Добавлено через 24 минуты
Нарыл схожую тему на форуме, добавил в свой crossdomain.xml следующую строчку, но ничего положительного не произошло:
Код:
<site-control permitted-cross-domain-policies="all"/>
Добавлено через 33 минуты
И вот еще, при debug откомпилированное приложение зависает. Это так и должно быть?


Последний раз редактировалось Limy; 02.10.2009 в 18:37.
Старый 02.10.2009, 20:16
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 6  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Код AS3:
var context:LoaderContext = new LoaderContext();
if (Security.sandboxType!='localTrusted') context.securityDomain = SecurityDomain.currentDomain;
trace(Security.sandboxType);
context.applicationDomain = ApplicationDomain.currentDomain;
 
var ldr:Loader = new Loader();
var urlReq:URLRequest = new URLRequest("http://www.murmadillo.tut.su/rain.swf");
ldr.load(urlReq,context);
//ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
addChild(ldr);
как-то так, вы наверно собрали сервер на линухе, раз можете поставить права на файл crossdomain.xml 777 (в виндовсе таким заниматься нет надобности), вобщем надо ваш самодельный сервер, который у вас на компе назвать с www (без www ниче не работает), а вообще чето нифига не пойму какой там линух, у вас же диск E: тогда при чем тут другой домен если у вас флешка на диске E? А че она тогда полику спрашивает,? залейте флешку на один сайт и грузите ее с сайта, а не с диска Е.

ха прикол... Попробовал не работает, блин, а http://www.murmadillo.tut.su/m/rain.swf грузит зараза, наверно с корня сайта нельзя swf-ки грузить.
можете затестить c другого домена

http://www.murmadillo.narod.ru/fla/enDom.html

fla файл туда-же сунул
http://www.murmadillo.narod.ru/fla/enDom.fla

в общем раньше бул такой кроссдоменник
Код:
<cross-domain-policy> 
<allow-access-from domain="*" /> 
</cross-domain-policy>
а сегодня я разволновался и дописал его (напрасно конечно)
Код:
<cross-domain-policy> 
<allow-access-from domain="*" secure="false"/> 
</cross-domain-policy>
в логи сыплятся предупреждения
Код:
Предупреждение: Игнорирование атрибута "secure" (безопасность) в файле политики от http://www.murmadillo.tut.su/crossdomain.xml.  Атрибут "secure" разрешен только в файлах политики для сокета и HTTPS.  Дополнительные сведения см. на веб-сайте http://www.adobe.com/go/strict_policy_files_ru.
Предупреждение: Для домена www.murmadillo.tut.su не указана метаполитика. Применяется метаполитика по умолчанию "master only" ("только мастер"). Эта конфигурация исключается. Чтобы исправить эту проблему, перейдите на веб-страницу http://www.adobe.com/go/strict_policy_files_ru.
А адобы быки переходиш по этому УРЛу появляется 404


Последний раз редактировалось Alex Lexcuk; 02.10.2009 в 20:58.
Старый 03.10.2009, 14:28
Limy вне форума Посмотреть профиль Отправить личное сообщение для Limy Найти все сообщения от Limy
  № 7  
Ответить с цитированием
Limy
 
Аватар для Limy

Регистрация: Apr 2007
Сообщений: 6
Вообщем спасибо, все заработало, но только с другим swf, который я создал как тестовый. Основной же подгружаться не хочет.

Попробовал даже через пуп натянуть, т.е. в тестовой swf, которая лежит вместе с нужной нам swf, засунул подгрузку нужной. А swf на другом домене удачно подгружает тестовый swf и по идеи (как я подумал) подгрузит нужный нам, но такого чудотворного явления не произошло. Появилась следующая ошибка:
Код:
Error #2044: Необработанный IOErrorEvent:. text=Error #2036: Загрузка не завершена.

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

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

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


 


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


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