FireFox中iframe的返回上页问题

时间:2023-03-10 07:13:07
FireFox中iframe的返回上页问题

-----已测试,可以使用-----

原文地址链接:http://fansofjava.iteye.com/blog/1019852

在写静态页面过程中遇到了FF的history.back()和history.go() 不能返回上页的问题,但是在IE中可以使用,为了解决此问题,开始查找资料,刚开始思路还是局限于使用history.back或者go的方法上,在使用了好多方法下还是没能完成功能,从FB中跟踪 document.getElementById['iframename'].history.back()没能得到信息。

为了达到返回上页目的,现在使用referurl来实现:

document对象的referrer属性,返回导航到当前网页的超链接所在网页的URL。

Js代码:

<script type="text/javascript" language="javascript">
function back(){
  var referurl;
   referurl=document.referrer;
  window.location.href=referurl;
  return false;
}
</script>

使用该脚本可以达到在FF的iframe中返回上页的目的。

上面代码虽然能实现返回,但不能像history.back()那样,保存查询条件参数等内容。有一个稍微进步一点的改进就是先判定浏览器,再执行不同的返回方式。见链接: 
http://www.iteye.com/topic/654801 
上面链接这篇文章有讲个怎么判定IE浏览器,因此综合一下,大概就像下面这样:

function goBack() {
if(-[1,]){
var referurl;
referurl = document.referrer;
window.location.href = referurl;
return false;
}else{
history.back();
}
}

如果数组里面最后一个字符为逗号,一般的JS引擎会自动剔除它,但是IE不会,所以会返回false。

注:document.referrer:返回导航到当前网页的超链接所在网页的URL。

相关文章