2009-02-23 40 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引用放在页面的最底部。