A.com中有页面代码如下
<html>
<body>
<script language="javascript" src="http://B.com/t.aspx"></script>
</body>
</html>http://B.com/t.aspx返回的js如下:
  document.write('<object id="pic" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="770" height="300">')
  document.write('<param name="movie" value="http://B.com/test.swf">')
  document.write('<param name="play" value="false" />')
  document.write('<embed src="http://B.com/test.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="770" height="300"></embed></object>')  document.getElementById("pic").Play();虽然t.aspx和flash的源地址都属于B.com的域,但是可能src形式加载过来的js的域是属于A.com。结果出现A.com的js要控制B.com的flash,出现跨域操作。不要问我为什么要这样做,这也是实际需求。必须要这样。现在唯一的解决办法是把flash文件放在A.com下,但是会给维护带来高额成本。各位高手请给我一点指教,谢谢!!
高分相送!!

解决方案 »

  1.   

    一、你在 b.com 里做一个小页面,在 a.com 里通过 <iframe> 的方式包含之。
    二、你在 a.com 的页面里 document.domain = "B.com" 强行修改域
      

  2.   

    原来看过网上似乎Flash跨域通信可以改一个XML的。不知道是否可行,楼主可以试一下
      

  3.   

    meizz(梅花雪)说的不错
    但你能用A.com域中代码控制flash吗?应该还是有跨域问题,无法达到预期效果。
      

  4.   

    Meizz,“二、你在 a.com 的页面里 document.domain = "B.com" 强行修改域”
    可以吗?
      

  5.   

    “二、你在 a.com 的页面里 document.domain = "B.com" 强行修改域”这个方法,至少我试过的是不行楼主试一下在b.com中的flash中第一桢加System.security.allowDomain("a.com")
      

  6.   

    System.security.allowDomain("a.com")
    这种方法用处是让AS访问a.com域的JS,调用js的方法。