2
我收到一個非常惱人的運行時錯誤消息,它在瀏覽器中運行時會使我的Flash應用程序崩潰。當我嘗試訪問Youtube的Gdata API時,該錯誤與「安全沙箱違例」有關。確切的錯誤信息如下:安全沙盒違反Youtube 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時,一切正常。
任何想法?
謝謝。
編輯:我剛剛添加了這些行,但仍然沒有運氣。
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文件到我的網站的根目錄,加載該策略文件,以及youtubes策略文件在https://gdata.youtube.com/crossdomain.xml。但我我仍然得到相同的錯誤 – Nick 2012-03-12 01:06:44
跨網域必須設置在您嘗試訪問的域名,而不是您的SWF託管域名。即使這是真正的問題,這個答案不會做到這一點,作爲尼克將不允許更改YouTube的跨域策略 BTW:現有的跨域看起來完全沒問題,可以從任何.com域訪問:http://gdata.youtube.com/crossdomain.xml – Pumuckline 2012-03-12 09:36:55
由於某些原因,flash didn不喜歡https://版本的gdata URL。將它們全部更改爲http://後,一切正常。感謝您的幫助。 – Nick 2012-03-12 16:55:11