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下,但是会给维护带来高额成本。各位高手请给我一点指教,谢谢!!
高分相送!!
<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下,但是会给维护带来高额成本。各位高手请给我一点指教,谢谢!!
高分相送!!
二、你在 a.com 的页面里 document.domain = "B.com" 强行修改域
但你能用A.com域中代码控制flash吗?应该还是有跨域问题,无法达到预期效果。
可以吗?
这种方法用处是让AS访问a.com域的JS,调用js的方法。