Вызов JS из флеш-видео

Мне нужно создать действительно простое флэш-видео (ActionScript 2), в котором я нажимаю фрагмент текста, который вызывает функцию javascript. Я новичок в ActionScript, поэтому, пожалуйста, простите меня, если это тривиальный вопрос ...

Я создал флэш-видео, в котором есть фрагмент текста, который я преобразовал в символ кнопки. Затем я открыл вкладку «Действия» и добавил:

on (press) {
    import flash.external.ExternalInterface;
    ExternalInterface.call("test");
    trace("Foo");
}

Когда я отлаживаю, выводит "Foo" в окно вывода. Однако, когда я помещаю это флэш-видео на страницу со следующими js в заголовке, ничего не происходит ...

<script language="javascript" type="text/javascript">
    function test() {
        alert("Hey");
    }
</script>

Я подумал, что это может быть как-то связано с ExternalInterface.call, поэтому я попробовал getUrl ("javascript: test ()"), который вызвал предупреждение системы безопасности (так что нажатое событие должно быть запущено), но затем ничего не сделал, когда я в порядке предупреждение.

У кого-нибудь есть идеи?


person James Hollingworth    schedule 01.02.2011    source источник
comment
Определена ли функция test() над объектом Flash на вашей странице?   -  person Matt Ball    schedule 01.02.2011
comment
эй да, я также пробовал ExternalInterface.call (внимание, эй); который должен просто вызывать встроенную функцию предупреждения, но все равно ничего ...   -  person James Hollingworth    schedule 01.02.2011


Ответы (1)


Мне ваши скрипты кажутся нормальными, возможно, вам нужно установить AllowScriptAccess в HTML (или SwfObject JavaScript), который встраивает SWF в HTML-страницу.

person Lars Blåsjö    schedule 01.02.2011
comment
ууу! оказывается, HTML выводил ‹имя параметра = значение allowScriptAccess = sameDomain /›. изменение этого параметра на ‹param name = allowScriptAccess value = always /› сработало! Благодарность! - person James Hollingworth; 01.02.2011