1

我有一个 SWF,它与同一个域上的所有 php 脚本联系。在第一种情况下,两者都托管在同一个域后面,并且通信没有问题。一切都很好。

但是,当我采用嵌入 SWF 的相同标记并将其粘贴到另一个站点(在本地托管和远程托管代码中使用 swf 的完全限定路径)时,SWF 不再与我编写的 php 脚本通信。

我在我的网站上添加了一个看起来像这样的跨域文件。

<?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="*" />
</cross-domain-policy>

我将此跨域文件添加到托管域的根目录以及托管 swf 的目录中。但是,两者都没有解决问题。有人可以告诉我为什么我的 SWF 不与我的 PHP 脚本通信,以及我怎样才能让它工作?

4

3 回答 3

1

allowScriptAccess是一个嵌入参数,用于让 SWF 在其包含的 DOM 中使用 javascript。所以不会影响跨域访问。

crossdomain.xml文件应该是您需要添加到 SWF 尝试与之通信的外部域的 webroot 的全部内容。

在尝试跨域通信时,您能否仔细检查您是否没有收到 404 错误或其他 HTTP 问题?是否抛出任何可以帮助您调试问题的错误异常。

可以的话发个链接。

于 2010-11-18T19:48:09.527 回答
0

尝试将allowScriptAccess="always"参数添加到您的嵌入和对象标签。

于 2010-11-16T23:06:48.370 回答
0

确保您的规范重定向不会妨碍脚本。我注意到您在两个域中都没有重定向相同的内容,也许您的目标是在两个域中都使用有效前缀的脚本,即:

它可能与 www.d3-systems.com 和 d3-systems.com 不同...

于 2011-03-03T09:36:31.920 回答