主页index.html的主要代码如下:

<button onclick="crossDomain();">开始跨域</button>
<div ></div>
<iframe src="http://work.2fool.cn/crossdomain/iframe.html" >
</iframe>
<script type="text/javascript">
document.domain = '2fool.cn';
function crossDomain(){
    var iframe=document.getElementById('iframe').contentWindow.$;        
    iframe.get("http://work.2fool.cn/crossdomain/helloworld.txt",function(data){
        document.getElementById("ajax").innerHTML=data;
    });
}
</script>

iframe页面主要代码如下:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
document.domain = '2fool.cn';
</script> 

原理:通过给主页面跟请求页面设置相同的document.domain来,欺骗浏览器,达到Ajax跨子域的效果,此方法在IE,chrome,Firefox,Safari,Opera下测试通过。

缺点:无法实现不同主域名之间的通讯。并且当在一个页面中还包含有其它的iframe时,会产生安全性异常,拒绝访问。

相关文章:

  • 2021-10-09
  • 2021-05-02
猜你喜欢
  • 2021-11-25
  • 2021-11-14
  • 2021-12-19
  • 2021-12-19
  • 2021-10-10
  • 2021-09-01
相关资源
相似解决方案