zoukankan      html  css  js  c++  java
  • 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');
  • 相关阅读:
    关于”数据库连接串中的 |DataDirectory|”
    【入门经典】Master和Content页面之一
    使用数据绑定控件
    ASP.NET数据绑定概述
    【入门经典】多层次的母版页(嵌套)
    【入门经典】在母版页中使用CSS
    内联表达式
    使用【表格式】数据绑定控件
    SQL Server 2005数据库从【Express版】迁移到【正式版】连接字符串存在的问题
    【入门经典】准备工作
  • 原文地址:https://www.cnblogs.com/waisonlong/p/4666798.html
Copyright © 2011-2022 走看看