我想在我的空中应用程序中使用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 >>"
click="tracehtml()"/>
</mx:WindowedApplication>
如果我改变mx:html的位置,就像这样: 位置= “http://labs.adobe.com/”
它确实显示了html,两个文件都位于同一目录中。
在构建项目时使用flex 4.6 sdk和flashbuilder,没有错误或警告。
答案 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中进行测试。