我在页面里面有一个iframe,name是icontent。
我想让鼠标在icontent里移动或操作的时候延迟计时,而当鼠标无操作后的5秒钟跳转到其它页面。
js代码如下:
==========================
  var   dtart=new   Date();   
  function   showtime(){   
      var   num=Math.floor((new   Date()-dtart)/1000);   
      window.status="鼠标已经静止"+num+"秒"; 
if (num >=5){
icontent.location.href="http://www.baidu.com";
dtart=new Date();

  }   
  function   icontent.onmousemove(){     dtart=new   Date();}   
  function   icontent.onmousedown(){     dtart=new   Date();}   
  function   icontent.onmouseup(){     dtart=new   Date();}   
  setInterval("showtime();",1000);   
===========================
尝试了icontent.onmousemove(),document.icontent.onmousemove(),icontent.document.onmousemove(),top.icontent.onmousemove(),window.icontent.onmousemove(),document.frame["icontent"].onmousemove()都没能捕获到鼠标在iframe上,应该如何捕获和引用这个iframe?请教各位大虾!谢谢!

解决方案 »

  1.   

    function   attachFrame(f)   
      {   
      f.document.onclick=alert;   
      for   (var   i=0;i<f.frames.length;i++)   
      {   
      var   ff   =   f.frames[i];   
      attachFrame(ff)   
      }   
      }   
      setTimeout("attachFrame(window)",100)   
        
      

  2.   

    //本页中
    document.onmousemove = function(){
        if(!window.timetrack)
             window.timetrack = setTimeout("icontent.location.href=\"http://www.baidu.com\";",5000);
    }//icontent中:
    document.onmousemove = function(){
        if(parent.timetrack)
        {
            parent.clearTimeout(parent.timetrack);
            parent.timetrack = null;
        }
    }
      

  3.   

    你试试 event.x 和event.Y  判断这2个值的变化情况
      

  4.   

    gzdiablo:能不能有什么办法只在本页中加入js代码的?icontent中不加的方法,谢谢!
      

  5.   

    在gzdiablo的基础上改成在本页面中用event去判断name为icontent就执行setTimeout和clearTimeout就行了。
      

  6.   

    只在本页中就比较麻烦了 需要先用setinterval每隔一段时间检测iframe的document的readystate 
    FF下要用document.getElementById(iframeId).contextWindow.onload事件来确定是否加载完毕.
    在确认iframe的document已经完全加载完毕的时候 再
    document.getElementById(iframeId).contextWindow.document.omouseover = function(){
        if(parent.timetrack)
        {
            parent.clearTimeout(parent.timetrack);
            parent.timetrack = null;
        }
    }因为在iframe没加载完毕时,是没有办法确保上面的事件绑定过程能正确绑定
      

  7.   

    谢谢大家!现在我的问题似乎是归结到了一个很简单的问题上:还是没办法探测到鼠标是否位于iframe内,也就是DOM中如何引用到iframe。例如,我写了一句简单的测试语句在本页js中:
      document.getElementById("icontent").contextWindow.document.onmousemove = function (){alert("move");} icontent是我iframe的name,但是就是无论如何也没法有任何alert出来其实一直都很困惑,在用到DOM引用的时候常常会碰到小问题,不知道有什么手册可以查到DOM的引用规则和方法,请大家指点了!小弟多谢了!:)