我試圖通過ExternalInterface
將數據從Flash傳遞到Javascript。 當我在本地主機上測試時,它工作正常,但是當我嘗試在IIS上設置網站時,所以我的同事可以測試我的應用程序,例如:http://192.168.0.10/MyApp,我收到此錯誤:使用Flash ExternalInterface時出錯
Error calling method on NPObject.
在讀#1的一些問題後,我試圖設置allowScriptAccess="always"
在我的嵌入標籤和Security.allowDomain(*)
我的AS文件,但它仍然無法正常工作。
如果有問題,我正在使用swf object。
我錯過了什麼?
編輯:當我嘗試從 JS調用的方法我SWF出現的錯誤。這是適合答案的代碼。
var swfReady = false;
swfobject.embedSWF("swf/1.swf", "flashContent", "300", "250", "11", "expressInstall.swf", null, { allowScriptAccess: "always" } , null, function (e) {
if (e.success) {
setTimeout(function() {
swfReady = true;
}, 150);
}
});
btnConfig.on('click', function() {
if (swfReady) {
flashContent.myMethod();
} else {
alert("Hold on...");
}
});
這在本地主機的偉大工程,但是,當有人試圖通過我的IP查看相同的頁面,我得到的JavaScript錯誤Error calling method on NPObject
。
檢查你做了'的Security.allowDomain(「*」);''你打電話ExternalInterface'前 – 2011-12-20 11:26:25
我在我的AS3類的構造函數設置它。是對的嗎? – 2011-12-20 11:51:25
SWF文件與嵌入的HTML頁面位於同一個域中嗎? – 2011-12-20 11:54:57