js跨域问题

jsonp方式:

  <script src="http://www.baidu.com/xxx.php?key=0&type=0&callback=hander" />

  返回js:function hander(1,2,3);

window.name方式:

  window.name 不会因为访问的页面不同而改变。

  本地文件1:a.html

  本地文件2:b.html (空白文件)

  外域文件:c.html

 

  a.html

  

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="utf-8" />
        <title>a.html</title>
    </head>
    <body>
    </body>
</html>
        <script type="text/javascript">
            (function(){
                var load=0;
                var ifr=document.createElement('iframe');
                ifr.style.display='none';
                ifr.src='http://192.168.1.154/DMS/c.html'; //c.html 不在同一域 加载后window.name已经有值
                ifr.onload=function(){
                    if(load===1){
                        alert(ifr.contentWindow.name);
                    }else{
                        load=1;
                        ifr.contentWindow.location.href='b.html'; //b.html
                    }
                }
                document.body.appendChild(ifr);
            })();
        </script>

 

c.html

<script>window.name='hello js!'</script>

 

posted @ 2013-07-03 16:52  microsoft_kk  阅读(307)  评论(0编辑  收藏  举报