window、location、location.href、self、top简单介绍
参考文案:https://zhidao.baidu.com/question/45817801.html
1、self:当前窗口对象(如果是在iframe里,则为该框架的窗口对象)
2、top:父窗口对象
3、window:典型情况下,浏览器会为每一个打开的html创建对应的window对象,如果这个文档包含了多个框架,则浏览器会为原始文档建立一个window对象,再为每个框架创建额外的window对象。可以再当前窗口中直接使用window的全部属性、方法和集合,即不需要在前面附加计算结果为当前window对象的表达式。虽然window可以省略,但是为了方便阅读以及避免一些漏洞,一般都使用这个关键字。
4、location:该对象包含当前url信息,拥有多个属性。默认属性为 location.href,表示整个url,即如果设置location="http://www.ddd.cn",则等同于location.href="http://www.ddd.cn".
eg:
self指代当前窗口对象,属于window最上层的对象;
location.href 指的是某window对象的URL地址.
self.location.href指当前窗口的URL地址,去掉self默认为当前窗口的URL地址.
一般用于防止外部引用,如果你的网页地址是:http://www.a.com
别人的是http://www.b.com, 他在他的页面用iframe等框架引用你的http://www.a.com,那么你可以用:
if(top.location.href!=self.location.href){ location.href="http://www.a.com"; }
来转向你的页面,
top指代的是主体窗口,这里top.location.href返回http://www.b.com;
http://www.b.com!=http://www.a.com,返回为真(true),则网页重定向到你的网页,做到防盗用的作用.