使用强制运行时将swf嵌入到htmlloader中

时间:2012-08-06 09:56:38

标签: actionscript-3 flex air

我有一个文件“test.swf”和air app在同一个目录中,我有以下动作...

var htmlLoader:HTMLLoader = HTMLLoader.createRootWindow(true, options,false, new Rectangle(0,0,1024, 768));
htmlLoader.loadString(***STRING****);

STRING 的位置是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
  <object type="application/x-shockwave-flash" width="1024" height="768"> 
        <param name="movie" value="app:/test.swf" />
        <param name="wmode" value="opaque" />
    </object>
</body>
</html>

知道为什么test.swf不显示?!

我还尝试了<param name="movie" value="test.swf" /><param name="movie" value="/test.swf" />

注意: <param name="movie" value="http://location.on.web/test.swf" />确实有效,但我需要专门用于本地播放。

1 个答案:

答案 0 :(得分:2)

默认情况下,使用loadString()方法加载的HTML不会放在沙箱中以进行本地存储访问。要启用它,您需要先设置placeLoadStringContentInApplicationSandbox property

htmlLoader.placeLoadStringContentInApplicationSandbox = true;

是的,我确实认为这是整个AS3库中最长的属性名称。