2009-02-27 28 views
3

我正在閱讀allowScriptAccess標記的值,以便如果它設置爲「從不」,或者如果未設置,我不會嘗試進行ExternalInterface調用。使用Flex框架,我可以使用Application.application。有Flash的等價物嗎?如何從Flash訪問allowScriptAccess的值?

回答

1

看起來很好的文檔記錄,無論是從Flex還是Flash訪問這些參數值。 Flashvars可以按照前面的答案建議的方式訪問,但對象標籤的參數值不能。

0

可以通過flashVars屬性訪問此類信息以及任何查詢字符串參數。您可以訪問flashVars屬性。詳細討論請閱讀this。相當於Application.application.parameters的Flash等於stage.loaderInfo.parameters

This博客解釋瞭如何以一致的方式執行此操作。

+0

@dirkgently您的解決方案在Flex環境中運行良好,但Application.app構造不存在於Flash中;其結果是它不能很好地解決這個問題。 EI.available也確保您處於啓用EI的容器中。儘管感謝您的回答。 – monvural 2009-03-03 01:23:38

2

無法直接訪問allowScriptAccess值,但您可以非常輕鬆地確定是否只需使用try-catch即可進行ExternalInterface調用。

try 
{ 
    ExternalInterface.call('document.getElementById', 'NOELEMENTBYTHISNAME'); 
    allowScriptAccess = true; 
} 
catch(err:SecurityError) 
{ 
    allowScriptAccess = false; 
} 

然後,您可以使用您的allowScriptAccess來確定應用程序控制流,以避免進行任何進一步的ExternalInterface調用。