有时会看到以下代码:
if(self!=top){top.location.href=self.location.href;}// 意思是本网页不允许被框架,目的是防止你的网页被引用在别人的页面中。// top指向最顶层框架的window对象,self指向当前框架的window对象。// 如果网页中没有iframe,则top和self是同一个值,// 所以这段代码可以防止自己的网页被别人用iframe的方式嵌入到其它网页中去。
top.location.href和localtion.href有什么不同
top.location.href=”url” 在顶层页面打开url(跳出框架)self.location.href=”url” 仅在本页面打开url地址parent.location.href=”url” 在父窗口打开Url地址this.location.href=”url” 用法和self的用法一致if (top.location == self.location) 判断当前location 是否为顶层来,禁止frame引用,如果页面当中有自定义的frame的话,可以将parent、self、top换为自定义frame的名称,效果就是在自定义frame窗口打开url地址。
eg:
top.htm代码:<script language=javascript>function rs(){if(top !== self) {top.location.href = location.href;}parent.left.location.href="top.htm";parent.bot.location.href="top.htm";}</script><input type=button name=name value="ksdj" onclick=rs();>以下是一个随意文件名的htm文件:<FRAMESET COLS="150,*"><FRAME SRC="left.htm" name=left><FRAMESET ROWS="150,*"><FRAME SRC="top.htm" name=top><FRAME SRC="bot.htm" name=bot>< /FRAMESET>< /FRAMESET>top表示主窗口,location表示当前窗口,如果你的文件只有一个框架,没有iframe和frmaeset,那么是完全一致的,没有区别。top.location是在顶层frame中打开新页 window.location是在当前frame中打开新页。parent.location 在当前窗口的父窗口打开Url地址。
Location 对象
Location 对象包含有关当前 URL 的信息。
Location 对象是 window 对象的一部分,可通过 window.Location 属性对其进行访问。
属性:
| hash | 返回一个URL的锚部分 |
|---|---|
| host | 返回一个URL的主机名和端口 |
| hostname | 返回URL的主机名 |
| href | 返回完整的URL |
| pathname | 返回的URL路径名。 |
| port | 返回一个URL服务器使用的端口号 |
| protocol | 返回一个URL协议 |
| search | 返回一个URL的查询部分 |
