欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 由返回上一页并刷新页面想到的

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:789

HTML5自适应律师工作室类网

2020-04-04   浏览:654

高端HTML5响应式企业通用网

2020-05-06   浏览:560

html5响应式外贸网站英文版

2020-05-08   浏览:545

HTML5影视传媒文化公司类网

2020-05-12   浏览:543

由返回上一页并刷新页面想到的

发布时间:2021-01-07  

返回上一页并刷新返回上一页,我们经常用history.go(-1)//返回上一页(括号中写-2代表返回上两页) history.back()//返回上一页这个我很久之前的一篇文章中也提及了!但是有时候有这样的 ...

 

 

 

返回上一页并刷新

返回上一页,我们经常用

history.go(-1)//返回上一页(括号中写-2代表返回上两页) history.back()//返回上一页

这个我很久之前的一篇文章中也提及了! 但是有时候有这样的需求,我们在一个公共页面中进行了数据操作,操作完成之后用history.back()返回上一页,我们希望上一页的数据是改变的,但是由于是历史返回,上一页的数据还是历史数据,因此,我们用到了返回上一页并刷新。

self.location=document.referrer;

说到这里,有必要对self.location和document.referrer的应用做一下详细介绍了!

self.location应用

也是很久之前,我写了一篇网页防止黑客跨框架攻击的文章,里面用到了:

<style> html{ visibility:hidden;}</style><script>if( self == top){ document.documentElement.style.visibility='visible';}else{ top.location = self.location;}</script>

这里,我们应用到了一个self,其实,上面代码的实际作用就是防止别人用框架嵌套我们的网页,当然为了防止被人嵌入你的网页,也可以如下写:

if(top.location !=self.location){ top.location=self.location;} 解释

1、self:当前窗口对象(如果是在iframe里,则为该框架的窗口对象)

2、top:父窗口对象

当然,这些前面都可以添加一个window对象,也就是可以如下写:

window.self

功能:是对当前窗口自身的引用。它和window属性是等价的。

注:window、self、window.self是等价的。

window.top

功能:返回顶层窗口,即浏览器窗口。

注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。

window.parent

功能:返回父窗口。

回到上面的正题

self.location 相当于 window.self.location,自身的浏览器地址,在没有嵌套页面的时候也相当于window.location

也就是页面跳转到 document.referrer 下面就来说一下document.referrer

document.referrer

这个主要是获取前一个访问页面的URL地址。

关于document.referrer的应用,除了上面的返回上一页,还有一个用途。用来做返回的跳转!(看到张鑫旭大神,前几天也写过类似这样的一个应用案例,好吧!我在这里再写一下!)

例如返回上一页的代码如下:

<ahref="javascript:history.back()"class="goback"></a>

上面代码大部分是可以用的,但是有时候是不可以。微信分享进来直接是内页,没有上一页的情况,这个没有办法返回,点击是无效的!

针对这种情况,我们可以如下代码:

if(document.referrer ===''){// 没有来源页面信息的时候,改成首页URL地址 $('.goback').attr('href','/');}

当没有来源的时候,返回改成首页,这样就是document.referrer的一个应用了!

document.referrer的浏览器兼容性问题

1、HTTPS默认会关闭referrer,需要通过meta来设置,设置方法如下:

<metaname="referrer"content="always">

2、直接在浏览器地址栏中输入地址;

3、使用location.reload()刷新(location.href或者location.replace()刷新有信息);

4、在微信对话框中,点击链接进入微信自身的浏览器;

5、扫码进入QQ或者微信的浏览器;

6、直接新窗口打开一个页面;

7、a标签设置rel="noreferrer"(兼容IE7+);

本文标签

: