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。

原文地址:https://www.cnblogs.com/xiaoxiao2014/p/5670637.html