在我的flash 4.6 Air項目中,我有幾千個資產文件夾中的html文件,這些文件是由其他軟件生成的。一些html文件有圖像。<img>不能在actionscript中工作
現在爲了保護html文件,我加密了所有這些文件。但是,當我通過他們解密爲一個字符串和負載:
html.htmlLoader.loadString(decryptedString.toString());
或
html.htmlText = decryptedString.toString();
的圖像不顯示和空白邊框的盒子與ALT文字顯示。這些html文件有javascript(),它正在工作。 ( 「samople.htm」)的HTML文件的內容是這樣的:
<P>Some Text</P>
<IMG SRC="../assets/sample/images/image.GIF" ALT="IMAGE.GIF" WIDTH="203"HEIGHT="105">
<P>Some Text</P>
要檢查的工作當我通過加載HTML:
html.location = "/assets/sample/sample.htm";
然後,它示出了圖像。但是,當我使用字符串:
html.htmlText = '<p>some text</P><img src="../assets/sample/images/image.GIF" width="203" height="105"><p>some text</p>';
然後它不顯示圖像。我試圖從src =「../ assets/...」更改到src =「./ assets/...」或者src =「/ assets/...」或者src =「assets/...」
我的座右銘是確保資產文件夾中的html文件。目前我可以加密/解密它們,但圖像不顯示。
我是新的flex和空氣。預先感謝您的幫助。
編輯
這裏是我的完整的示例代碼: 的Flex/ActionScript中
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="initiate()">
<fx:Script>
<![CDATA[
public static var stream:FileStream;
public static var stream2:FileStream;
public static var file:File;
public var readFile:ByteArray;
public function initiate():void
{
file = File.applicationDirectory.resolvePath("assets/sample/sample.htm");
readFile = new ByteArray;
stream = new FileStream();
stream.open(file, FileMode.READ);
stream.readBytes(readFile);
stream.close();
html.htmlText = readFile.toString();//Not showing image.
}
]]>
</fx:Script>
<mx:HTML id="html" left="10" top="10" width="220" height="250"/>
<mx:HTML id="html2" left="240" top="10" width="220" height="250"
location="assets/sample/sample.htm"/><!--Showing Image-->
</s:WindowedApplication>
和HTML:
<HTML>
<HEAD>
<TITLE>title</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function someFunction(someValue)
{
//some code;
}
</SCRIPT>
</HEAD>
<BODY>
<P>This is image</P>
<P><IMG SRC="/assets/sample/images/myimage.gif" ALT="myimage.gif" WIDTH="203" HEIGHT="105"></P>
</BODY>
</HTML>
myimage.gif位於:資產/採樣/ images/myimage.gif
我正在使用Flash Builder 4.6與AIR,這是一個Windows應用程序。什麼是重要的是,當我使用** html.location **它正在工作,但是當我將html文件的內容轉換爲字符串時,它不顯示圖像,只有其他所有人都在工作,甚至是JavaScript。 – sonulrk
儘管如此,如果您認爲圖像路徑錯誤,您應該可以使用http調試器進行調試。即使在AIR應用程序中,請嘗試'Charles HTTP調試程序'。 –
圖像路徑是正確的。購買新軟件並使用它會更麻煩。 我重複html.htmlText不工作,但html.location正在工作。 – sonulrk