您好,欢迎访问一九零五行业门户网

js判断当页面无法回退时关闭网页否则就history.go(-1)_javascript技巧

在做一个web项目时遇到一个需求,当页面没有前驱历史记录时(就是当前为新弹出的页面,没法做goback操作即history.go(-1)),点击返回按钮时直接关闭页面,否则就退回到前一页。
遇到的问题就是如何判断 是否有history可以回退,这个非常麻烦,因为没有这样的函数直接能获取到,只能通过history.length这个变量做变通的处理,但是对于ie,和非ie的length的返回值不同,ie: history.length=0, 非ie的为1,因此写了一个函数实现前面所需求的这个功能。分享给大家。
/** * 返回前一页(或关闭本页面) * 如果没有前一页历史,则直接关闭当前页面 */ function goback(){ if ((navigator.useragent.indexof('msie') >= 0) && (navigator.useragent.indexof('opera') 0){ window.history.go( -1 ); }else{ window.opener=null;window.close(); } }else{ //非ie浏览器 if (navigator.useragent.indexof('firefox') >= 0 || navigator.useragent.indexof('opera') >= 0 || navigator.useragent.indexof('safari') >= 0 || navigator.useragent.indexof('chrome') >= 0 || navigator.useragent.indexof('webkit') >= 0){ if(window.history.length > 1){ window.history.go( -1 ); }else{ window.opener=null;window.close(); } }else{ //未知的浏览器 window.history.go( -1 ); } } }
其它类似信息

推荐信息