Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   framed swf (http://www.flasher.ru/forum/showthread.php?t=67179)

xuMuk 26.07.2005 21:18

framed swf
 
Каким образом флэшь ролик может узнать находится он в обычном хтмл или во фрэйме?

Пробовал решить данную задачу при помощи передачи ролику переменной из ява-скрипта (flashVars) - не получается.

Король 26.07.2005 21:19

не получается передать или понять?

xuMuk 26.07.2005 21:22

передать.

создавать и управлять объектами Js из самого ролика не сложно, но вот результат проверки на фрэймы как туда впихнуть - не понятно.

если есть у кого скрипт, реализующий передачу из Js во флэшь некоей переменной - буду признателен.

KidsKilla 26.07.2005 21:32

вариант -- флеш забивать скриптом, и добавлять в src="my.swf?frame=true"
в флеше trace(_root.frame)

Король 26.07.2005 21:38

<SCRIPT LANGUAGE=JavaScript>

function doPassVar(args){
var sendText = args.value;
window.document.myFlash.SetVariable("myVar", sendText);
}

</SCRIPT>

xuMuk 26.07.2005 21:42

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

мою задачу конечно можно решить средствами пхп в одну строчку (ну ладно, две 8) ), но должно же быть и иное решение...

xuMuk 26.07.2005 21:43

2король, сейчас попробую... 8)

xuMuk 26.07.2005 22:30

Заработало так:

Код:

<SCRIPT LANGUAGE=JavaScript>
 if (window.name = "content"){
document.write('<embed src="Untitled-1.swf?frms=ttrue" quality="high"
bgcolor="#ffffff" width="550" height="400" name="Untitled-1" align="middle"
allowScriptAccess="sameDomain" type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); 
}else{ 
document.write('<embed src="Untitled-1.swf?frms=ffalse" quality="high"
bgcolor="#ffffff" width="550" height="400" name="Untitled-1" align="middle"
allowScriptAccess="sameDomain" type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); 

</SCRIPT>

А можно ли упростить?

Король 26.07.2005 23:51

а если так -
<SCRIPT LANGUAGE=JavaScript>
if (window.name = "content"){
flashObject.setVariable("frms", "true")
}else{
flashObject.setVariable("frms", "false")
}
</SCRIPT>

xuMuk 27.07.2005 00:05

к сожалению идите говорит нафик...

толи потому, что тестирую оперой, толи потому, что флэшиков на странице 2, не считая того, что спрятан фрэймом...

ЗЫ. У меня там вместо оператора сравнения стоит оператор присваивания... Долго не мог воткнуть отчего не работает столь простой скрипт 8)
Спать пора...


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

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