gpt4 book ai didi

flash - 无法让它工作 : crossdomain. xml 和 Flash

转载 作者:行者123 更新时间:2023-12-01 07:41:57 26 4
gpt4 key购买 nike

我有一个(自行创建的)带有按钮触发 getUrl('SampleTargetPage.html') 的 swf 演示

现在我想把 swf 放在我们的 cdn 上cdn.example.com而我的 html 页面位于 www.example.com

更有条理:

www.example.com/test.html
cdn.example.com/someflash.swf
cdn.example.com/crossdomain.xml

我认为在 cdn.example.com 上提供一个 crossdomain.xml 就足以让链接正常工作。但是:Flash 插件似乎根本不查询 crossdomain.xml!

现在,我必须在 SWF 本身中添加一些东西才能使它工作吗?非常感谢!

编辑:我需要使用 Security.loadPolicyFile 吗?编辑:也许我根本不需要 crossdomain.xml,因为所有内容都在 *.example.com 下?

最佳答案

发现问题了!解决方案是在闪存参数中将 allowscriptaccess 设置为“始终”:

 allowscriptaccess : 'always'

这是关于这个问题的背景信息:

从 Flash Player 9 开始,影响“_self”、“_parent”或“_top”的 getURL(或 navigateToURL)调用被视为与托管 HTML 页面的交互。从 Flash Player 9 更新 3 开始,对“_blank”以外的所有目标的调用都会受到影响。这是为了防止 HTML 页面中嵌入的不受信任的 SWF 文件重新导航浏览器页面(或该页面中的框架)而不警告用户他们现在正在访问不同的第三方网站。它还对所有 html 框架实现跨域脚本限制。

为了保护 HTML 页面不受不受信任的 SWF 文件的影响,Flash Player 在显示 Flash 内容的 和 标记中支持 HTML 参数 AllowScriptAccess。 AllowScriptAccess 可以有三个值:

  • “始终”:允许 SWF 文件在所有情况下都与 HTML 页面交互。
  • “sameDomain”:允许 SWF 文件仅在它们的域完全匹配时才与 HTML 页面交互。默认情况下,Adobe Flash 创作应用程序中的 HTML 发布模板输出指定 AllowScriptAccess="sameDomain"的 HTML,因为这通常是所需的安全行为。
  • “从不”:完全阻止 SWF 文件与 HTML 页面交互。

调用 getURL(或 navigateToURL)现在由 AllowScriptAccess 参数控制。换句话说,AllowScriptAccess 必须是“始终”或“sameDomain”,并且 HTML 页面和 SWF 文件的域必须完全匹配。否则,对 getURL(或 navigateToURL)的调用将失败。

这是 Flash Player 9 中引入的新行为,以符合安全模型并影响所有 SWF 版本。 Adobe 知道这可能会改变在 Flash Player 9 发布之前部署的某些 SWF 媒体的行为,对于由此可能造成的任何不便,我们深表歉意。

关于flash - 无法让它工作 : crossdomain. xml 和 Flash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3133114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com