javascript 判断 history.back() 起作用了没

[size=large]
由于history.back() 没有返回值,我们很难 知道 我们的 这句话执行了还是没执行,但是 他的执行与否 又影响 我们的 后面的要执行的一些代码,

此文 通过 另外一条路 来达到 判断history.back() 起没起作用的效果。
我们可以知道 history还有一个 成员变量 就是length,他有一个初值,
(不了解请去 w3cschool 看看, )
如果你的 超链接 是 新建一个窗口打开 的链接,那么这个值是不会增加的,同样的 浏览器的自带的 前进,后退也是不管用的,所以我们可以 通过判断 length的 现在 值 是否大于他的初值 来判断 现在 的页面 能不能后退 ,即history.back()能不能起作用;
下面是 几种常见主流 浏览器 的 length 的初值;
ie 0
firefox 1 (包括 firefox ,google)
opear 0
其他的浏览器 没有细看,
下面的代码 是 如果 history.back() 不起作用 ,就链接到 调用该javascript 的所传参数的地址


function back(myurl){ // 该函数处理二级界面 详细内容显示 右下角的 返回 按钮,现在仅能正确处理ie,firefox,opera,浏览器
var backUrl=myurl;
var flag=false;
if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0))// 你是使用IE
{
//alert('你是使用IE')
if(history.length>0){
flag=true;
history.back();
}
}
else
{
if (navigator.userAgent.indexOf('Firefox') >= 0) //你是使用Firefox
{
//alert('你是使用Firefox');
if(window.history.length>1)
{
flag=true;
history.back();
}
}
else
{
if (navigator.userAgent.indexOf('Opera') >= 0) //你是使用Opera
{
//alert('你是使用Opera')
if(history.length>0)
{
flag=true;
history.back();
}

}
else //你是使用其他的浏览器浏览网页
{
//alert('你是使用其他的浏览器浏览网页!')
}
}
}

if(flag==false) //
{
window.location.href =backUrl;
}
}[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值