如何用js禁用后退按钮?js 如何打开一个新页面,并关闭父页面

解决方案 »

  1.   


    <script language="Javascript"><!-- 
    function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键 
    function window.onhelp(){return false} //屏蔽F1帮助 
    function document.onkeydown() 

      if ((window.event.altKey)&& 
          ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向键 ← 
           (window.event.keyCode==39)))   //屏蔽 Alt+ 方向键 → 
      { 
         alert("不准你使用ALT+方向键前进或后退网页!"); 
         event.returnValue=false; 
      } 
         /* 注:这还不是真正地屏蔽 Alt+ 方向键, 
         因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放, 
         用鼠标点掉警告框,这种屏蔽方法就失效了。以后若 
         有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/  if ((event.keyCode==8)  ||                 //屏蔽退格删除键 
          (event.keyCode==116)||                 //屏蔽 F5 刷新键 
          (event.ctrlKey && event.keyCode==82)){ //Ctrl + R 
         event.keyCode=0; 
         event.returnValue=false; 
         } 
      if (event.keyCode==122){event.keyCode=0;event.returnValue=false;}  //屏蔽F11 
      if (event.ctrlKey && event.keyCode==78) event.returnValue=false;   //屏蔽 Ctrl+n 
      if (event.shiftKey && event.keyCode==121)event.returnValue=false;  //屏蔽 shift+F10 
      if (window.event.srcElement.tagName == "A" && window.event.shiftKey)  
          window.event.returnValue = false;             //屏蔽 shift 加鼠标左键新开一网页 
      if ((window.event.altKey)&&(window.event.keyCode==115))             //屏蔽Alt+F4 
      { 
          window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); 
          return false; 
      } 

    </script>
      

  2.   

    如果是禁用浏览器的后退按钮应该是不可能的window.open打开一个新页面,同时window.close()关闭当前的打开子页面的父页面
      

  3.   

    有一个办法可以实现禁用后退按钮,那就是利用AJAX。
    由于根本不存在新的页面(所有操作都在一个页面完成),所以后退按钮始终是无效的。
      

  4.   


    <a href="javascript:location.replace('http://www.sohu.com/')">sohu.com</a>
    location 的 replace 方法的API描述:  "装入指定 URL 的另外文档来替换当前文档。"出处: http://bbs.51js.com/viewthread.php?tid=2672
    这样打开的新页面就不能退回到上个页面..
      

  5.   

    用hash值保存当前页面状态即可
    也可以用cookie,flash的数据保存等等。
      

  6.   

    而且也可以只在需要的页面用AJAX完成一下需要的任务。不必拘泥于非要全部实现AJAX。