我已經查看了所有可以找到的資源,以創建一個簡化的方法,但每次嘗試時都會遇到一個基本錯誤。我根本無法讓它工作!觸發通過swfobject的embedSWF嵌入的flash對象函數?
這裏是我的閃存測試動作從我的電影的第一個關鍵幀:
import flash.external.*; //THIS...
System.security.allowDomain("http://localhost", "*"); //...AND THIS ALSO REQUIRED!
if (ExternalInterface.available) {
trace("ExternalInterface= " + ExternalInterface.available);
flash.external.ExternalInterface.addCallback("myExternalMethod", null, myFunction);
}
function myFunction() {
gotoAndStop(2);
}
這裏是jQuery的我的JavaScript /點點:
<script type="text/javascript">
var flashvars = {};
var params = {
wmode: "transparent",
allowscriptaccess: "always"
};
var attributes = { //The addition of these attributes make it work!
id: "number-input",
name: "number-input"
};
var embedHandler = function (e){
mySWF = e.ref;
};
swfobject.embedSWF("images/flash-form.swf", "number-input", "800", "320", "9.0.0", "expressInstall.swf", flashvars, params, attributes, embedHandler);
function executeFlash() {
getObjectById("number-input").myExternalMethod();
}
function getObjectById(objectIdStr) {
var r = null;
var o = document.getElementById(objectIdStr);
if (o && o.nodeName == "OBJECT") {
if (typeof o.SetVariable != undefined) {
r = o;
} else {
var n = o.getElementsByTagName(OBJECT)[0];
if (n) {
r = n;
}
}
}
return r;
}
$(function() {
$('#main-button-big').click(function(event){
event.preventDefault();
executeFlash();
});
});
</script>
閃光燈似乎已成功嵌入,如果我做一些愚蠢的事情...
$(mySWF).hide();
...它隱藏,所以我確定scrip t可以看到物體。
不管我試圖做我一直(在Firefox測試)得到一個錯誤,像什麼方法:
錯誤:類型錯誤:mySWF.myExternalMethod不是一個函數。
在Safari中:
類型錯誤: '未定義' 不是(評估 'mySWF.myExternalMethod()')
如果我嘗試的getElementById的jQuery的版本(環遊embedHandler)我得到一個功能:
錯誤:TypeError:$(...)。myExternalMethod不是函數。或TypeError:'undefined'不是函數(評估'$('#number-plate-input')。myExternalMethod()')
我需要讓這個項目快速完成,並在我的繫繩。任何幫助將非常感激地收到。
更新:請注意,embedHandler不再需要,也不用於觸發任何類型的事件。這是一個代碼有用一塊了,所以我選擇把它留在
我在我的Mac上測試apache服務器。沒有通過文件系統瀏覽頁面,我還在全局安全Flash設置中將apache文件夾的根設置爲受信任的位置。 – adamg2000 2013-02-23 22:39:26
您確定在實際的Flash Player實例上調用該方法,而不是在包含Flash的元素上調用該方法嗎?換句話說,當你調用mySWF.myExternalMethod()時,你能確認mySWF引用正確的東西嗎? – 2013-02-23 23:38:19