我现在在做一个多站点同步登陆功能,部分代码如下:
<iframe src="http://a.com/setCookie.html"></iframe>
<iframe src="http://b.com/setCookie.html"></iframe>
<iframe src="http://c.com/setCookie.html"></iframe>
<iframe src="http://d.com/setCookie.html"></iframe>
<script>
document.location.href={$redirect}
</script>
在setCookie.html里面有设置cookie的js程序现在的问题是:我该怎样写js才能使下面的页面跳转代码在上面四个框架全部加载完之后才执行跳转?
上面四个框架加载完是指里面的JS已经执行完毕。求高手指点。在线等jsiframe

解决方案 »

  1.   

    <iframe id="ifr1"></iframe>document.getElementById("ifr1").onload=function(){  
        ...
    }
      

  2.   

    <iframe id="ifrm"></iframe>
    document.ifrm.document.readyState == "complete"
      

  3.   

    我这有四个iframe,要怎么写才能知道四个页面都加载完成,如果是一个iframe,onload倒是可以解决,还是说我在第一个onload function里面判断第二个是否加载完,依次嵌套下去,但是这样有违本意,这四个页面要一起加载的,按顺序的话岂不是浪费时间。
      

  4.   


    我这样写是不是可以了?<iframe id='ifr1' src="http://a.com/setCookie.html"></iframe>
    <iframe id='ifr2' src="http://b.com/setCookie.html"></iframe>
    <iframe id='ifr3' src="http://c.com/setCookie.html"></iframe>
    <iframe id='ifr4' src="http://d.com/setCookie.html"></iframe>
    <script>
    ifr1=document.getElementById('ifr1');
    ifr2=document.getElementById('ifr2');
    ifr3=document.getElementById('ifr3');
    ifr4=document.getElementById('ifr4');
    if(ifr1.document.readyState=='complete'&&ifr2.document.readyState=='complete'&&ifr3.document.readyState=='complete'&&ifr4.document.readyState=='complete'){
    document.location.href={$redirect}
    }
    </script>
      

  5.   

    <iframe name="ifr"></iframe>
    ....
    <iframe name="ifr"></iframe>var ifrs=document.getElementsByName("ifr"),L=ifrs.length,n=0;
    for(var i=0;i<L;i++ ){
       ifrs.onload=function(){
          n++;
          if(n==L) alert('ok');
      }
    }