Javascript crossdomain - 域1上的Flash,在域2上调用Javascript

时间:2011-01-19 16:42:17

标签: jquery cross-domain jsonp shadowbox

稍微棘手的问题需要解释,但这里有......

1)domain1上的swf文件,读取domain1上的xml文件以显示数据 2)还包含链接以打开另一个也在domain1上托管的html文件的ShadowBox弹出窗口 3)此swf文件也嵌入在domain2上的iFrame中 4)domain2也在HTML中安装了ShadowBox

问题基本上归结为crosssite脚本:

嵌入在domain2上的swf触发domain2 ShadowBox打开此弹出窗口,但Flash中的javascript调用来自domain1,这会导致跨域权限问题。

有人能想到解决这个问题的方法吗? JSONP似乎是一个选择,但我并不完全习惯使用它。 JQuery是否有任何方法可以解决这个问题?到目前为止找不到任何东西......

1 个答案:

答案 0 :(得分:1)

我正在努力理解你的问题,所以我会在我看到它们时解释一下 - 告诉我,如果我错了。在domain1上,你有一个swf调用javascript中的外部接口调用,这会导致在domain2上的iframe中加载的脚本上发生操作?

如果是这种情况,您可以通过从swf调用并将externalInterface切割出等式来解决相同的原始策略问题。如果目标域上的crossdomain.xml文件(在本例中为domain2)允许,则Flash将允许您对另一个域进行HTTP调用(请参阅此主题:Can someone post a well formed crossdomain.xml sample?

如果我离开基地,请告诉我。