无法获取air app来加载项目中包含的html文件

时间:2012-12-15 08:14:31

标签: javascript flex air flashdevelop

我想在我的空中应用程序中使用JavaScript但无法使用air app来加载loacal(包含)html文件。

这是html文件的内容:

<html>
<head>
<script>
function setHeader(st) {
    document.getElementById('hiTitle').innerHTML = st;
}
</script>
</head>
<body>
<h1 id="hiTitle">Hello there</h1>
</body>
</html>

这是mxml文件:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
    <![CDATA[
    private function tracehtml():void {
        trace(htmlZ);
        htmlZ.htmlLoader.window.setHeader("never works");
    }
    ]]>
    </mx:Script>

    <mx:Panel x="10" y="10" width="252" height="100%"
    layout="absolute" title="The local html file">
        <mx:HTML
            id="htmlZ"
            location="script.html"
            enabled="true"
            paddingLeft="4"
            paddingRight="4"
            width="100%" height="100%"/>
    </mx:Panel>

    <mx:Button x="270" y="65" label="Highlight &gt;&gt;"
        click="tracehtml()"/>

</mx:WindowedApplication>

如果我改变mx:html的位置,就像这样: 位置= “http://labs.adobe.com/”

它确实显示了html,两个文件都位于同一目录中。

在构建项目时使用flex 4.6 sdk和flashbuilder,没有错误或警告。

1 个答案:

答案 0 :(得分:0)

flashbuilder的答案很简单。将html文件和js文件放在名为assets的文件夹中,并将该文件夹放在应用程序的bin目录中。

现在,当使用F5(Projcet =&gt; Test Project)运行air应用程序时,它可以运行。

在项目文件夹中有一个名为bat的文件夹。我检查了bat文件和Packager更改工作目录到bin然后告诉adt(Adobe Air Developer Tool)将所有内容都包含在当前目录中(= bin)。

打开命令提示符并转到项目文件夹,然后键入以下命令:

bat\SetupSDK.bat
bat\CreateCertificate.bat
(wait a minute)
bat\SetupApplication.bat
bat\Packager.bat

对于那些不使用flashbuilder的人,adt命令如下(项目名称为google):

adt -package  -storetype pkcs12 -keystore "bat\Google.p12" -storepass fd air\Google.air application.xml -C bin .

现在在air文件夹下创建一个air文件,用winrar(它是一个zip文件)打开它,并确认资产目录在那里。

双击该文件启动安装程序,打开已安装的应用程序后,它可以在flashdevelop中进行测试。