当前位置:首页 > Windows程序 > 正文

document.referrer的使用和window.opener 跟 window.parent 的区别

2021-03-29 Windows程序

偶尔看到了document.referrer,之前一直有点疑惑与window.opener 和 window.parent之间的区别

首先查了一下w3cSCHOOL,

上面的解释:referrer 属性可返回载入当前文档的文档的 URL。

但是解释中没有写怎么载入才能用referrer,

翻看了几篇文章,终于搞懂了。

window.opener是当前页面A通过open方法弹出一个窗口B,那在B页面上 window.opener就是A 

window.parent是当前页面C通过location.href转到新的页面D,那在D页面上window.parent就是B 或者是页面E里套一个frame为F,那F页面的window.parent就是E 

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

document.referrer的具体应用场景

如果要显示某一个网站的超链接跳转到你的网站你可以如下:

<script type="text/javascript"> var refurl=document.referrer; if(refurl.indexOf("wowgame")>-1){ alert("你的来源网址为:【"+document.referrer+"】目前本站与该站已终止合作。"); location.replace(refurl); } </script>

js操作frame详细解说,window.opener和window.parent的区别


frame框架里的页面要改其他同框架下的页面或父框架的页面就用parent
window.opener引用的是window.open打开的页面的父页面。 

window.frames对象可以引用iframe里的页面,也可以引用frameset里的页面.

可以这样

window.frames[0].document.getElementById(‘xx‘);


可以这样

window.frames[0].document.body.innerHTML;



frm = window.parent.window.frames[‘uploadFrame‘]; frmDocument = frm.document; frm.sb(3); //sb 是uploadFrame页面里的一个函数



对于firefox
如果你遇到报错:parent.document.frames has no properties
换为如下代码就可以了,这个代码IE,ff兼容. frm = window.parent.window.frames[‘uploadFrame‘];其实 frames 集合并不是挂在 document 而是挂在 window 对象下.

注意这样修改frame里的页面有限制,就是必须是同域下的,否则无法访问
如果是同一域下,但是子域名不同,那么涉及到的js,html文件都加上一句。

document.domain = xxx.com [这里填写你的域名] document.getElementById(‘iframeid‘).contentWindow.document.getElementById(‘someelementid‘);

document.referrer的使用和window.opener 跟 window.parent 的区别

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/69459.html