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>