为什么我不能在Javascript中调用nativeApplication.applicationDescriptor上的方法?

时间:2009-12-28 15:31:14

标签: javascript air

在我的Adobe AIR项目的html文件中,我编写以下代码来获取对应用程序描述符的引用:

var appXML = air.NativeApplication.nativeApplication.applicationDescriptor;

语句成功执行。我可以看到appXML是从调试器引用的runtime.XML对象。如果我调用alert(appXML),我可以看到警告对话框中显示的应用程序描述符内容。

但是,如果我尝试在appXML上调用类似appXML.namespace()的方法,则会抛出错误说:

TypeError: Value  does not allow function calls.

所以我试过的每一种方法都失败了。但是同样的方法调用在Actionscript中运行良好。

任何人都知道为什么?

1 个答案:

答案 0 :(得分:0)

要使用JavaScript读取应用程序描述符文件,可以使用DOMParser。

var AppXmlParser = new DOMParser(); 
var AppXML = AppXmlParser.parseFromString(air.NativeApplication.nativeApplication.applicationDescriptor, "text/xml").getElementsByTagName('application')[0];
var AppName = AppXML.getElementsByTagName("filename")[0].firstChild.data;   
var AppVersion = AppXML.getElementsByTagName("version")[0].firstChild.data;