Как я могу использовать ExternalInterface из моего SWF Flash AS2 в iFrame для вызова метода javascript? - PullRequest
0 голосов
/ 25 мая 2011

У меня есть PHP-скрипт, который включает заголовочный файл (header.php), который включает в себя файл javascript, содержащий некоторые методы javascript.

т.е. -

Main.php =>

include("header.php");
// This page also embeds a swf in an iFrame (myFlash.swf)

header.php =>

<html>
<head>
<script type="text/javascript" src="javascript_methods.js"></script>
</head>
<body>

javascript_methods.js =>

myFunction() {
alert("function called");
}

myFlash.swf =>

import flash.external.ExternalInterface;
//When I want to call the javascript function myFunction() -
ExternalInterface.call("myFunction");

Я использовал ExternalInterface elesewhere в моем приложении и (думаю) я сделал это таким же образом, но единственное отличие состоит в том, что на этот раз SWF находится внутри iFrame, поэтому думаю, что это может вызвать проблему. Есть ли решение для передачи этого сообщения в javascript из Flash через iFrame, или это не проблема, и у меня есть проблема где-то еще.

спасибо

1 Ответ

0 голосов
/ 25 мая 2011

Аргумент, переданный ExternalInterface.call, будет eval редактироваться в документе, где размещена флэш-память.Это означает, что для того, чтобы эта флэш-память достигла кода родительского окна, необходимо выполнить

ExternalInterface.call("window.parent.myFunction");
...