2012-12-15 18 views
0

我想在我的空氣應用程序中使用JavaScript,但無法獲得空氣應用程序加載Loacal(包含)HTML文件。不能得到空氣應用程序加載項目中包含的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,沒有錯誤或警告。

+0

如果我把script.html放在bin文件夾中(其中flashdevelop放置swf),那麼它就可以工作。現在我必須找到一種方法來獲取swf中編譯的html以及我需要使用什麼路徑作爲位置值。 – HMR

回答

0

flashbuilder的答案很簡單。將html文件和js文件放入名爲assets的文件夾中,並將該文件夾放入應用程序的bin目錄中。

現在,當運行與F5(Projcet =>測試項目)的空氣應用程序它的作品。

在項目文件夾中有一個名爲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命令如下(項目名稱是谷歌):

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

現在在air文件夾下創建一個空氣文件,用winrar打開它(它是一個zip文件)並確認資產目錄在那裏。

雙擊文件啓動安裝程序,並打開安裝的應用程序後,它工作以及在flashdevelop中測試時。

相關問題