美文网首页
window.location.href 和self.locat

window.location.href 和self.locat

作者: AAA前端 | 来源:发表于2018-12-13 14:10 被阅读0次

    从字面上就可以理解到 window 指的是当前窗口
    而 self 指的是自己 在HTML 中 由于页面可以镶嵌页面
    所以这2个就有了 区别
    比如说 我有个页面A.HTML 里面嵌套了一个B.HTML
    在A中使用 window.location 跳转 就把整个 页面跳转了
    而在 A中镶嵌B页面的位置 使用了 self跳转 就只是把B界面跳转了 A页面其他地方没有变化
    就拿 很简单的 百度搜索页面来比 你输入不同的搜索内容 变化的只是下面的内容 而搜索栏本身没有变化 就是self实现下面的跳转

    window、location、location.href、self、top简单介绍

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

    1. window:典型情况下,浏览器会为每一个打开的html创建对应的window对象,如果这个文档包含了多个框架,则浏览器会为原始文档建立一个window对象,再为每个框架创建额外的window对象。可以再当前窗口中直接使用window的全部属性、方法和集合,即不需要在前面附加计算结果为当前window对象的表达式。虽然window可以省略,但是为了方便阅读以及避免一些漏洞,一般都使用这个关键字。
    2. location:该对象包含当前url信息,拥有多个属性。默认属性为 location.href,表示整个url,即如果设置location="http://www.ddd.cn",则等同于location.href="http://www.ddd.cn".

    如果test.html被加入iframe,则跳转到百度页面。

    top.location.href:为引用test.html页面url的父窗口对象的url

    self.location.href:为引用test.html页面url的子窗口对象url

    self.location 指的是当前页面的location
    top.location 是指当前页面所属的父页面的location
    top.location !== self.location
    window.top != window.self


    有时侯,你的页面会被别人的frame引用,含在别人的frame中(有时一些站点因内容不足, 会将别人的页面当作自己的一个frame,看起来像是自己本身的页面) 。你当然不会高兴, 访问者也觉得看着不方便。 用了这个js,一旦被别人frame了,会自动弹出。你就不用再担心了!
    将下代码copy入你网页和中即可。

    self.location == top.location可以判断自己的页面没有被别人引用(然后alert出信息提示用户)

    相关文章

      网友评论

          本文标题:window.location.href 和self.locat

          本文链接:https://www.haomeiwen.com/subject/ubovhqtx.html