Как сделать так, чтобы flash cs3, actionscript отправлял события в javascript?
-
09-06-2019 - |
Вопрос
Я использую Flash для воспроизведения видеоклипа .flv на своем сайте, но я хочу, чтобы .swf send вызывал событие в моем javascript, когда он начинает загружаться, начинает играть и заканчивает играть.
Как лучше всего это сделать во Flash CS3 с помощью Actionscript 3.0?
Решение
Вам необходимо использовать " allowScriptAccess " Переменная flash в HTML. Вы, вероятно, хотите использовать «SameDomain» как тип. Обратите внимание, что если вы используете междоменный домен, вам также необходимо разместить на сервере специальный файл с именем 'crossdomain.xml', который включает такие сценарии (это проверяет флэш-плеер. Более подробную информацию можно найти по адресу http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2 а> р>
Звонок - самая легкая часть. :-) Во Flash-коде вы будете использовать ExternalInterface для выполнения вызова, как описано здесь: Короткая версия: вы говорите ExternalInterface.call (" javascriptFunction " ;, " аргумент ")
Другие советы
Обычный способ сделать это - использовать класс ExternalInterface , который можно использовать для вызова методов JavaScript.
Сначала определите ваши методы JavaScript, например:
<script language="JavaScript">
function startsPlaying()
{
// do something when the FLV starts playing
}
</script>
Затем измените ваш ActionScript для вызова метода JavaScript в соответствующее время:
// inform JavaScript that the FLV has started playing
ExternalInterface.call("startsPlaying");
Для получения дополнительной информации см. связанную с Flash CS3 документацию . р>
если вы не хотите загружать
import flash.external.*;
так что вы также можете сделать
getUrl("javascript:startsPlaying();");