내 플래시 4.6 프로젝트에서 일부 다른 소프트웨어에서 생성되는 자산 폴더에 수천 개의 html 파일이 있습니다. 일부 html 파일에 이미지가 있습니다.<img>이 작동 스크립트에서 작동하지 않습니다
이제 html 파일을 보호하기 위해 모든 파일을 암호화합니다. 그러나 나는 통해에 문자열 및로드에 암호를 해독 할 때
html.htmlLoader.loadString(decryptedString.toString());
또는
html.htmlText = decryptedString.toString();
는 이미지가 표시되지 않는 및 빈의 경계 상자가 ALT 텍스트로 보여주고있다. 이 html 파일에는 javascript()가 있으며 작동 중입니다. 그런 다음 이미지를 보여주고있다
html.location = "/assets/sample/sample.htm";
: I에 의해 HTML을로드 할 때
<P>Some Text</P>
<IMG SRC="../assets/sample/images/image.GIF" ALT="IMAGE.GIF" WIDTH="203"HEIGHT="105">
<P>Some Text</P>
이 작업을 확인하려면 : 는 ("samople.htm") HTML 파일의 내용은 같다. 하지만 문자열을 사용할 때 :
html.htmlText = '<p>some text</P><img src="../assets/sample/images/image.GIF" width="203" height="105"><p>some text</p>';
그런 다음 이미지를 표시하지 않습니다. src = "../ assets /.."에서 변경하려고했습니다. to src = "./ assets /..." 또는 src = "/ assets /.." 또는 src = "assets /.."
내 모토는 assets 폴더에 html 파일을 보호하는 것입니다. 현재는 암호화/해독 할 수 있지만 이미지는 표시되지 않습니다.
나는 굴곡과 공중에서 새롭다. 모든 도움을 미리 감사드립니다.
편집 여기
가 내 전체 샘플 코드입니다 : 플렉스/액션
<?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의 위치는 : 자산/샘플/이미지/myimage.gif
AIR과 함께 Flash Builder 4.6을 사용하고 있으며이 프로그램은 Windows 응용 프로그램입니다. 중요한 것은 ** html.location **을 사용할 때 작동하지만, html 파일의 내용을 문자열로 변환하면 이미지를 표시하지 않는 것입니다. 다른 모든 것은 자바 스크립트에서도 작동합니다. – sonulrk
여전히 이미지 경로가 잘못되었다고 생각하면 http 디버거를 사용하여 디버깅 할 수 있어야합니다. AIR 응용 프로그램에서도 'Charles HTTP 디버거'를 사용해보십시오. –
이미지 경로가 정확합니다. 새 소프트웨어를 구입하고 사용하는 것이 더 번거로울 것입니다. html.html 텍스트가 작동하지 않지만 html.location이 작동 중입니다. – sonulrk