Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   кто владеет FS Command??? (http://www.flasher.ru/forum/showthread.php?t=27364)

px-74 18.02.2002 16:57

кто владеет FS Command???
 
Подскажите как использовать FSCommand??? Я уже по всякому делаю, а никак не работает:
во flash на actions кнопки пишу:

on (release) {
fscommand ("ok");
}


в странице (name="movie" в теге object):

<script language="JavaScript">
function movie_DoFSCommand(arg){
alert(arg);
}
</script>


И никакого результата!!! Вообще ничего не происходит как ты не крути! Может при публикации что указывать надо дополнительно?

ish 18.02.2002 17:11

проверь указан ли id для тега Object и name для тега Embed
для ИЕ нужно создать обработчик на VBScript (паблишь с темплейтом 'Flash with FSCommand') и для НН указать swLiveConnect=true в теге Embed

px-74 18.02.2002 19:18

Но неужели нет способа обратиться к js функции? (VBscript не подходит - весь код на js). Неужели FSCommand расчитан только на NN? Конечно можно использовать getURL("javascript:..."), но ведь ОНО останавливает загрузку страницы (если html-код ещё не загрузился)! С флешем тесно общаюсь не так давно и меня честно говоря удивляют такие вещи - если нельзя обратиться к js в IE - о какой интерактивности может идти речь?

SPV 18.02.2002 19:25

Всё дело в том, что на Яве обработчики событий объектов описываются для ИЕ по-другому:
<script for="object" event="FSCommand(command, args)">
...
</script>
Если попытаться объединить это с НН синтаксисом, то можно соорудить нечто подобное:
<script for="movie" event="FSCommand(command, args)">
function movie_DoFSCommand(command, args) {
.......
}
if (navigator.appName!='Netscape') { movie_DoFSCommand(command, args); }
</script>

ish 18.02.2002 20:17

2px-74: VBScript необходим только для генерации события JS в ИЕ,
он перехватывает событие плэйера (movie_FSCommand) и вызывает JS функцию movie_DoFSCommand
а плэйер для НН при событии автоматически вызывает JS функцию movie_DoFSCommand, все это сделано для совместимости работы с событием fscommand в различных браузерах

вот стандартный код от ММ на JS для ИЕ:

if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 &&
navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
document.write('<SCRIPT LANGUAGE=VBScript\> \n');
document.write('on error resume next \n');
document.write('Sub movie_FSCommand(ByVal command, ByVal args)\n');
document.write(' call movie_DoFSCommand(command, args)\n');
document.write('end sub\n');
document.write('</SCRIPT\> \n');
}

надеюсь понятно что к чему

2SPV
не надо трогать Яву :)

SPV 19.02.2002 11:45

2ish :) Люблю я Яву :) Красивее, чем VB.

ish 19.02.2002 11:55

:)

Java!=JavaScript
VB!=VBScript

не надо путать народ :)

SPV 19.02.2002 12:01

2ish :) Исправлюсь

px-74 19.02.2002 12:13

Спасибо админу и SPV! Разобрался! На самом деле оба способа хороши (со вторым разобраться пришлось - не встречал таких параметров у тега <script>, удивлен!), но если все скрипты работают с src=...js файла, первый способ подходит лучше. Спасибо!!! Интересно, а можно ли тыркать переменную vscript из js??


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

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