我收到一条非常烦人的运行时错误消息,该消息使我的 Flash 应用程序在浏览器中运行时崩溃。当我尝试访问 Youtube 的 Gdata api 时,该错误与“安全沙箱违规”有关。确切的错误消息如下:
Error: Request for resource at https://gdata.youtube.com/feeds/api/videos?
key=As##2PVR2#lPj#0bVaw_Tvjx1MI6qeAI1gORxErVYDzu2zZy4D18bf8T6pHxsPgIOhs3_44Te
YTVlYLx49goUPbv00udousA&q=The-Muppets-official-trailer&alt=json&max-results=1
by requestor from http://###.com/cws/f/VV.swf is denied due
to lack of policy file permissions.
*** Security Sandbox Violation ***
当我在本地运行 SWF 时,一切正常。
有任何想法吗?
Thanks.
编辑:我刚刚添加了这些行,但仍然没有运气。
Security.loadPolicyFile("http://www.mydomain.com/crossdomain.xml");
Security.loadPolicyFile("https://gdata.youtube.com/crossdomain.xml");
Security.allowDomain("https://gdata.youtube.com");
Security.allowDomain("gdata.youtube.com");
您需要指定一个crossdomain.xml
根据 Adobe Flash 安全规则的策略文件。
1) 放置crossdomain.xml
在您网站的根目录下
2) 示例内容(不建议)
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
3) 将策略文件加载到您的项目 (AS3) 中:
System.security.loadPolicyFile("http://www.DOMAIN.net/crossdomain.xml");
阅读参考文件了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)