首页 > 解决方案 > 包含 SWF 的本地 HTML 无法连接到 Internet

问题描述

我的 Flash 项目通过我网站上的 PHP 页面从 Internet 下载数据。它在以下环境中可以正常工作,但是当我尝试使用包含 SWF 的本地 HTML 文件对其进行测试时,它将无法正常工作。

我的 SWF 可以通过以下方式连接到 Internet:

Adobe Animate Test (Ctrl+Enter)
Adobe Animate Debug (Ctrl+Shift+Enter)
Standalone Flash Player
On my website in HTML (www.myWebsite.com/myFlash.html)

我的 SWF 无法在以下位置连接到 Internet:

local HTML file containing the SWF (C:\test\myFlash.html)

是否可以使用带有嵌入式 SWF 的本地 HTML 连接到 Internet?我一直试图让它在 Chrome、MS Edge 和 IE11 中工作,但我没有成功。

这是我的 HTML:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Test</title>
  </head>
  <body style="background-color:#f0f5f8">
    <object width="1280" height="720" data="Main.swf" style="border:1px solid black; margin-left: auto; margin-right:auto; display:block">
      <param name="movie" value="Main.swf" />
      <param name="quality" value="high" />
      <param name="bgcolor" value="#000000" />
      <param name="play" value="true" />
      <param name="loop" value="false" />
      <param name="wmode" value="direct" />
      <param name="scale" value="showall" />
      <param name="menu" value="false" />
      <param name="devicefont" value="false" />
      <param name="salign" value="" />
      <param name="allowScriptAccess" value="always" />
      <param name="allowFullScreenInteractive" value="true" />
    </object>
  </body>
</html>

编辑:我让我的 SWF 输出错误消息,现在当我尝试在本地 HTML 中播放它时,TextField 显示“securityError - Error #2048”。这似乎是关于在网站上有一个 crossdomain.xml,我在 www.myWebsite.com/crossdomain.xml 上确实有:

<?xml version="1.0" ?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="*" />
</cross-domain-policy>

标签: htmlflashactionscript

解决方案


我想到了。我不得不在我的 crossdomain.xml 中更改这一行:

<allow-access-from domain="*"/>

对此:

<allow-access-from domain="*" secure="false"/>

我的网站实际上是https://www.myWebsite.com/,这意味着我需要 secure="false" 以便非 https 网站可以访问它。


推荐阅读