загрузка swf c одного домена на другой @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 23 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Заголовок сообщения: загрузка swf c одного домена на другой
Сообщение Добавлено: 3 Август 2005, 12:50:05 
Пробывал так , не помогло :

System.security.allowDomain("domen.ru");

domen.ru - c которого загружаются флешки на сайт , сайт находится на другом домене.

подскажите что делать , чтоб работало .
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 3 Август 2005, 13:01:02 
если седьмой плейер то вроде нужно указать два домейна
твой,чужой
allowDomain('mojdomain.com','domain.ru')

_________________
можно на ТЫ.
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 3 Август 2005, 13:28:52 
bE(o0L, а в html вот эта строка для чего <param name="allowScriptAccess" value="sameDomain"> ?
Traktorist
новый человек
9
Сообщения: 198
Зарегистрирован: 04.10.04
Сообщение Добавлено: 3 Август 2005, 14:17:41 
Правилный ответ: надо на тот хост, куда флешка обрашаетса, положить фаил crossdomains.xml а в нем надо написать что то, не помню шас, флехса под рукой нет, в поиске посмотри
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 3 Август 2005, 14:57:58 
Traktorist, попробую
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 3 Август 2005, 15:20:23 
Eduard, да вроде для яваскрипта...

_________________
можно на ТЫ.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 3 Август 2005, 15:30:03 
Помоему swf'ки (loadMovie) с другого домена грузятся и так, другое дело что там может что-то не работать из скриптов. А crossdomain.xml - нужен для XML, LoadVars и подобных с их send и load …
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 3 Август 2005, 15:37:13 
@st@l@vist@, наверно ты прав , я грузил swf в которых картинки (флеш вроде бы их грузит , видно по логам , но чето глючит и не показывает) , сделали чтобы просто jpg отдавались , все заработало . crossdomain.xml тоже использую для XML.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 3 Август 2005, 15:45:01 
Если в SWF'ках только картинки то должно все работать, если идет взаимодействие на уровне скрипта, тогда да - нужен allowDomain
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 3 Август 2005, 16:00:53 
когда мой прелоадер загружает swf с другого домена , то getBytesTotal() показывает -1 , но в то же время файл по логам был загружен полностью , если запускаю не с домена а с компа , то все нормально загружает.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 3 Август 2005, 16:26:53 
Не знаю насколько я прав, но когда-то на скорую руку делал примерно так:

Файл A.swf находится в домене A.com.

В нем скрипт:
System.security.allowDomain("A.com", "B.com");
mc.loadMovie("B.com/B.swf");

function onEnterFrame()
{
t.text = mc.getBytesLoaded();
}

Файл который загружаем называется B.swf и лежит на B.com

В нем скрипт:

System.security.allowDomain("B.com", "A.com");
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 3 Август 2005, 16:53:28 
Мда, посмотрел, проверил - тормоз однако :)

В A.swf на A.com:

System.security.allowDomain("B.com");
mc.loadMovie("B.com/b.swf");

В B.swf на B.com :

System.security.allowDomain("A.com");


А вот это System.security.allowDomain("A.com", "B.com"); уже лишнее, хотя и работает по понятным причинам :)
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 3 Август 2005, 16:54:40 
последнее для седьмого плейера, первое для шестого

_________________
можно на ТЫ.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 3 Август 2005, 17:02:20 
Так что под 6-ку то работает?
p.s.: у тебя есть 6-ой плеер? :)
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 3 Август 2005, 18:03:39 
неа, 6 плейера нет :D
в седьмом рекомендуют указывать все домейны учавствующие в действиях:
System.security.allowDomain("A.com", "B.com","C.ru","D.de","E.ee");

тобишь если мы пишем под седьмой плейер то получается делать нужно так:

a.swf:
System.security.allowDomain("A.com". "B.com");

b.swf:
System.security.allowDomain("A.com". "B.com");

_________________
можно на ТЫ.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 3 Август 2005, 18:06:48 
интересно что в хелпе домейны через запятую перечисляются а в примерах через точку :chih: :dandy:

_________________
можно на ТЫ.
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 3 Август 2005, 18:34:01 
… обязательно писать код в b.swf … плохо , у меня swf-ки на B-домене генерирет php из картинок
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 3 Август 2005, 18:51:27 
ну и код туда же загенерируй :laugh:

_________________
можно на ТЫ.
Traktorist
новый человек
9
Сообщения: 198
Зарегистрирован: 04.10.04
Сообщение Добавлено: 3 Август 2005, 18:54:02 

Цитата:
About allowing cross-domain data loading
A Flash document can load data from an external source by using one of the following data loading calls: XML.load(), XML.sendAndLoad(), LoadVars.load(), LoadVars.sendAndLoad(), loadVariables(), loadVariablesNum(). Also, a SWF file can import runtime shared libraries, or assets defined in another SWF file, at runtime. By default, the data or SWF media, in the case of runtime shared libraries, must reside in the same domain as the SWF file that is loading that external data or media.

To make data and assets in runtime shared libraries available to SWF files in different domains, use a cross-domain policy file. A cross-domain policy file is an XML file that provides a way for the server to indicate that its data and documents are available to SWF files served from certain domains or from all domains. Any SWF file that is served from a domain specified by the server’s policy file will be permitted to access data or assets from that server.

When a Flash document attempts to access data from another domain, Flash Player automatically attempts to load a policy file from that domain. If the domain of the Flash document that is attempting to access the data is included in the policy file, the data is automatically accessible.

Policy files must be named crossdomain.xml, and can reside either at the root directory or in another directory on the server that is serving the data with some additional ActionScript (see About custom policy file locations). Policy files function only on servers that communicate over HTTP, HTTPS, or FTP. The policy file is specific to the port and protocol of the server where it resides.

For example, a policy file located at https://www.macromedia.com:8080/crossdomain.xml will apply only to data loading calls made to www.macromedia.com over HTTPS at port 8080.

An exception to this rule is the use of an XMLSocket object to connect to a socket server in another domain. In that case, an HTTP server running on port 80 in the same domain as the socket server must provide the policy file for the method call.

An XML policy file contains a single <cross-domain-policy> tag, which, in turn, contains zero or more <allow-access-from> tags. Each <allow-access-from> tag contains an attribute, domain, which specifies either an exact IP address, an exact domain, or a wildcard domain (any domain). Wildcard domains are indicated by either a single asterisk (*), which matches all domains and all IP addresses, or an asterisk followed by a suffix, which matches only those domains that end with the specified suffix. Suffixes must begin with a dot. However, wildcard domains with suffixes can match domains that consist of only the suffix without the leading dot. For example, foo.com is considered to be part of *.foo.com. Wildcards are not allowed in IP domain specifications.

If you specify an IP address, access is granted only to SWF files loaded from that IP address using IP syntax (for example, http://65.57.83.12/flashmovie.swf), not those loaded using domain-name syntax. Flash Player does not perform DNS resolution.

The following example shows a policy file that permits access to Flash documents that originate from foo.com, www.friendOfFoo.com, *.foo.com, and 105.216.0.40, from a Flash document on foo.com:

<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="www.friendOfFoo.com" />
<allow-access-from domain="*.foo.com" />
<allow-access-from domain="105.216.0.40" />
</cross-domain-policy>

You can also permit access to documents originating from any domain, as shown in the following example:

<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

Each <allow-access-from> tag also has the optional secure attribute. The secure attribute defaults to true. You can set the attribute to false if your policy file is on an HTTPS server, and you want to allow SWF files on an HTTP server to load data from the HTTPS server.

Setting the secure attribute to false could compromise the security offered by HTTPS.

If the SWF file you are downloading comes from a HTTPS server, but the SWF file loading it is on an HTTP server, you need to add the secure="false" attribute to the <allow-access-from> tag, as shown in the following code:

<allow-access-from domain="www.foo.com" secure="false" />

A policy file that contains no <allow-access-from> tags has the same effect as not having a policy on a server.

@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 3 Август 2005, 18:54:09 
bE(o0L, через точку не может быть ;) - точка это оператор :)
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 3 Август 2005, 19:03:55 
http://livedocs.macromedia.com/flash/mx … 01750.html

В конце интересный момент есть :

A: System.security.allowDomain(_parent._url)
B: System.security.allowDomain(child_mc._url)
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 3 Август 2005, 19:45:23 

Цитата:
через точку не может быть - точка это оператор


@st@l@vist@, ага. поэтому либо меня глючит либо в доках опечатка :dandy:

_________________
можно на ТЫ.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 3 Август 2005, 20:30:33 
Посмотрел как у ММ сделано:
Они пишут в файле который загружает System.security.allowDomain("Домен с которого грузим");, а в файле который подгружается просто System.security.allowDomain(_parent._url);
Это дает возможность уже не думать о том куда мы будем подгружать этот файл в будущем.
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 23 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100