2009-02-23 72 views
1

這是我的問題 - 我試圖編寫一個自我更新的應用程序,但我不斷收到一個錯誤消息,指出runtime.air.update.ApplicationUpdaterUI()不返回構造函數。無法讓Adobe AIR的ApplicationUpdaterUI()工作

下面是代碼的相關部分;還有其他JavaScript文件被包含在內,但我不認爲它們中的任何一個都會積極地打破AIR本身。

<html> 
<head> 
<script type="text/javascript" src="./js/AIRAliases.js"></script> 
<script type="text/javascript" src="./js/jquery-1.3.1.js"></script> 
<script src="ApplicationUpdater_UI.swf" type="application/x-shockwave-flash"></script> 
<script> 
    $(document).ready(function() { 
     var appUpdater = new runtime.air.update.ApplicationUpdaterUI(); // line 64 in this example 
    } 
</script> 
</head> 
<body> ... stuff ... </body> 
</html> 

當我測試它,我得到的錯誤是

 
    TypeError: Value is not a constructor. Cannot be used with new. 
    at app:/index3.html : 64 
    at app:/js/jquery-1.3.1.js : 2912 
    at app:/js/jquery-1.3.1.js : 686 
    at app:/js/jquery-1.3.1.js : 2916 
    at app:/js/jquery-1.3.1.js : 2936 

回答

3

驗證中的SWF該腳本標籤的路徑,我猜你沒有參考ApplicationUpdater_UI。 swf正確。

空氣基本上抱怨說,它無法找到一個runtime.air.update.ApplicationUpdaterUI()方法來調用任何地方,這可能意味着它無法找到SWF(或者我認爲它可能是SWF已損壞)。

+0

如果你會接受答案,至少你可以做的是對它投票。好的,彼得很好回答。 – 2009-04-07 05:59:19

0

不確定這是否相關,但如果在腳本之前加載.swf,$(document).ready和.load都不起作用。確保將.swf引用放在頁面的最底部。