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

偶尔看到了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‘);
时间: 2024-10-22 04:44:04

document.referrer的使用和window.opener 跟 window.parent 的区别的相关文章

window.opener和window.open的使用

window.opener是指调用window.open方法的窗口.window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为"name"的textbox中,就可以写为:window.opener.document.getElementById("name").value = "输入的数据";在工作中主要是用来解决部分提

js中window.opener和window.parent的用法

参考: http://blog.csdn.net/u014625500/article/details/26867933 1.window.self就表示当前打开的窗口2.window.top就表示最顶层的窗口(假如说你在一个窗口里面有嵌套了其他一些窗口,那么top就表示这个最顶层的窗口)3.window.parent----是iframe页面调用父页面对象  举例;  a.html  <html>  <head><title>父页面</title><

[转]window.opener用法

window.opener 实际上就是通过window.open打开的窗体的父窗体. 比如在父窗体parentForm里面 通过 window.open("subForm.html"),那么在subform.html中 window.opener 就代表parentForm,可以通过这种方式设置父窗体的值或者调用js方法. 如:1,window.opener.test(); ---调用父窗体中的test()方法 2,如果window.opener存在,设置parentForm中stoc

js中window.self,window.top,window.parent,window.opener

在js中window.self,window.top,window.parent,window.opener四个的作用区别还是很大的, window.self,window.top是打开模式, 而window.parent,window.opener是父窗口打开模式,下面我来介绍介绍. =============================================================== 在应用有frameset或者iframe的页面时, parent是父窗口, top是

window.opener

1.打开父窗口: var url = "http://" + window.location.host + "/ContratorSelfAssess/AssessPaper?data=" + data;    window.open(encodeURI(url), "width:100%,height:100%,toolbar:true"); 2.window.opener 实际上就是通过window.open打开的窗体的父窗体.即 windo

js jquery 关闭弹出页面 并刷新父页面(window.opener)

function Closepage() { if (window.opener && !window.opener.closed) { window.parent.opener.location.reload(); } window.close(); return false; } 其它方法可借鉴: window.opener用法 http://www.cnblogs.com/zhangzt/archive/2009/12/24/1631253.html window.opener 实际

window.opener调用父窗体方法的用法

应用实例:        function BindWindowCloss() {            $(window).bind('beforeunload', function () {                window.opener.$("form").submit();            });        } window.opener 实际上就是通过window.open打开的窗体的父窗体. 比如在父窗体parentForm里面 通过 window.op

window.opener用法

[转]window.opener用法 window.opener 实际上就是通过window.open打开的窗体的父窗体. 比如在父窗体parentForm里面 通过 window.open("subForm.html"),那么在subform.html中 window.opener 就代表parentForm,可以通过这种方式设置父窗体的值或者调用js方法. 如:1,window.opener.test(); ---调用父窗体中的test()方法 2,如果window.opener存

window.parent与window.opener的区别与使用

window.parent 是iframe页面调用父页面对象 举例: a.html 如果我们需要在b.html中要对a.html中的username文本框赋值(就如很多上传功能,上传功能页在ifrmae中,上传成功后把上传后的路径放入父页面的文本框中), 我们应该在b.html中写: var _parentWin = window.parent;_parentWin.form1.username.value = "xxxx"; window.opener 是 window.open 打