0

我正在尝试从由 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 应用程序中运行而不运行网络服务器?

谢谢。

4

2 回答 2

0

我不确定 HTA 文件,但我知道您可以通过类似的方式将外部 .swf 文件直接嵌入到您的网页中

<EMBED type="shockwave-flash" src="http://path/to/file.swf" height="swf_height" width="swf_height" (other tags neccesary> </EMBED>
于 2009-07-28T05:00:47.280 回答
0

无需使用 file:// 协议,我相信 ShockwaveFlash 根本不支持该协议。只需使用 .SWF 文件的名称,它将从与 HTA 文件相同的目录加载。或使用完整路径,如 C:\something\flash\applet.swf

跨域的东西是无关紧要的,因为你在一台机器上运行它。

.HTA 安全模型比 Web 安全模型更开放,因为它只适用于单台机器,就像 .EXE 或任何其他 Windows 应用程序一样。

于 2010-07-29T22:16:13.383 回答