首页 > 代码库 > [转载]解决flash与js交互、flash跨域交互、flash跨域提交
[转载]解决flash与js交互、flash跨域交互、flash跨域提交
http://blog.csdn.net/andyxm/article/details/5219919
我们引用本地flash,实现flash与js双向交互。
function thisMovie(movieName) {
if (window.document[movieName]){
return window.document[movieName];
}else if (navigator.appName.indexOf("Microsoft")==-1){
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}else{
return document.getElementById(movieName);
}
}
在提交数据时,flash无法跨域http访问。于是将flash资源放置该服务器下,接下来问题是flash与js不在一个域下,又有了交互跨域问题。解决办法是将原来
<embed>
<param name="allowScriptAccess" value="http://www.mamicode.com/sameDomain" />
<embed src="" allowScriptAccess="sameDomain"/>
改为了可跨域访问
<embed>
<param name="allowScriptAccess" value="http://www.mamicode.com/always" />
<embed src="" allowScriptAccess="always"/>
那如果我们用浏览器访问http://example1.com/index.php这个页面,在这个页面中引用了http://example2.com /flash.swf这个flash文件,然后在flash代码中向http://example3.com/webservice.php发送HTTP 请求。
就需要在example3中添加crossdomain.xml,允许example2的访问。
<cross-domain-policy>
<allow-access-from domain="example2.com" />
</cross-domain-policy>