我正在尝试从包含HTML内容,javascript和vbscript的HTA应用程序中嵌入外部.swf文件。我使用swfobject从javascript加载swf。
远程服务器允许'localhost'作为原始服务器,我可以将它嵌入我的网络服务器上的HTML页面上,在http://localhost上运行,但我需要让它在本地运行的HTA上工作,我想使用file://协议,而不是http://。现在,在尝试这种方法时,嵌入式swf会发出错误信号。
我检查了远程站点上的crossdomain.xml,它说:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="localhost" to-ports="*" />
...
</cross-domain-policy>
有没有办法让我的HTA应用程序无需运行网络服务器就可以使用?
感谢。
答案 0 :(得分:0)
我不确定HTA文件,但我知道您可以通过类似
之类的内容直接将外部.swf文件嵌入到您的网页中<EMBED type="shockwave-flash" src="http://path/to/file.swf" height="swf_height" width="swf_height" (other tags neccesary> </EMBED>
答案 1 :(得分:0)
无需使用file://协议,我相信ShockwaveFlash根本不支持它。只需使用.SWF文件的名称,它将从与HTA文件相同的目录中加载。或者使用完整路径,如C:\ something \ flash \ applet.swf
跨域名的东西是无关紧要的,因为你在一台机器上运行它。
.HTA安全模型比Web安全模型更开放,因为它只能在单个机器上运行,就像.EXE或任何其他Windows应用程序一样。