2011-10-08 90 views

回答

0

不是直接的,但它很容易,如果你有過通過ExternalInterface的SWF控制的事情。首先,在Flash變數的SWF傳遞一個回調名稱:

loadedCallback=swfLoadedCallback

此外,一定的SWF有scriptAccess設置爲sameDomainall

接下來,在你的頁面定義一個回調函數:

 
function swfLoadedCallback() 
{ 
    // Note... if these were a real application, you would want 
    // to use a setTimeout here to avoid Flash choking while 
    // waiting for a response. 
    alert('SWF loaded. Do something.'); 
} 

然後,在你的SWF中,添加如下代碼:

 
import flash.external.ExternalInterface; 
import flash.utils.setTimeout; 

var params:Object = root.loaderInfo.parameters; 
if (params && params.loadedCallback) 
{ 
    // Set timeout to avoid syncronous issues 
    setTimeout(function():void { 
     if (ExternalInterface.available) 
     ExternalInterface.call(params.loadedCallback); 
    }, 1); 
} 
相關問題