2013-08-23 42 views
0

我正在嘗試構建一個將激活特定Javascript函數的按鈕。從actionscript腳本中調用javascript函數

我想:

getURL("javascript:functionName()"); 

但它似乎是一個壞主意(再加上它不工作)..

import flash.external.ExternalInterface; 

function call_javascript(evt:MouseEvent):void { 
    ExternalInterface.call("functioName()"); 
} 
btn.addEventListener(MouseEvent.MOUSE_UP, call_javascript); 

這一切都不爲我工作。

+0

你有什麼錯誤嗎?您是否已將JavaScript功能添加到HTML中? – putvande

+0

你的代碼中是否有錯字(「functioName()」)? –

+0

我只是略讀這一點,但你是否知道你正在嘗試在你的處理程序中調用'functioName'而不是'functionName'? – xdl

回答

0

首先,這是重複的。這個問題之前已經被問過10次了。但是,這裏是你的答案:ExternalInterface.call("jsFunctionName", argument, argument, ...);。這是非常可能的。 Click here for more details.

0

你的問題是你說錯了。第一個參數應該是沒有括號的函數名稱:ExternalInterface.call("funcionName");

還要注意,您必須將allowScriptAccess設置爲一個實際上允許您調用該函數的值(在您的示例中,您具有sameDomain,這是OK )。

+0

我在.call中測試了沒有「()」的代碼,但仍然是。加上改變allowScriptAccess總是,但注意到.. http://jsfiddle.net/g9kYL/1/(這不會工作 - 只是爲了顯示你的代碼) – Brightside