这是我的问题 - 我正在尝试编写一个自我更新的应用程序,但我一直收到一条错误消息,指出runtime.air.update.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
答案 0 :(得分:3)
验证SWF的脚本标记中的路径,我猜你没有正确引用ApplicationUpdater_UI.swf。
Air基本上抱怨它找不到run.air.update.ApplicationUpdaterUI()方法来调用任何地方,这可能意味着它无法找到SWF(或者我认为SWF可能已损坏)。
答案 1 :(得分:0)
不确定这是否相关,但如果在脚本之前加载.swf,$(document).ready和.load都不会起作用。确保将.swf引用放在页面的最底部。