top.location.href和localtion.href有什么不同
判断当前location 是否为顶层来禁止frame引用 如果页面当中有自定义的frame的话,也可以将parent self top换为自定义frame的名称 效果就是在自定义frame窗口打开url地址 ### 关于`top.location.href`与`location.href`的区别及应用 #### 一、基本概念理解 在Web开发中,`window.location`对象用于获取或设置当前浏览器窗口的位置信息,而`window.location.href`则用来获取或设置当前文档的URL。在涉及到网页中的框架(Frames)时,`top.location.href`与`location.href`之间存在重要的区别。 - **`location.href`**:代表当前窗口的URL。即如果当前页面是在一个框架中显示的,那么`location.href`将返回该框架内的URL。 - **`top.location.href`**:代表顶层窗口的URL。无论当前页面是否嵌套在框架内,`top.location.href`总是返回顶层窗口的URL。 #### 二、具体应用场景分析 1. **判断当前页面是否为顶层页面**: - 通过比较`top.location.href`与`self.location.href`来判断当前页面是否为顶层页面。如果两者相等,则当前页面位于顶层;如果不相等,则意味着当前页面被嵌套在一个或多个框架中。 ```javascript if (top.location.href === self.location.href) { console.log('当前页面位于顶层'); } else { console.log('当前页面被嵌套在框架中'); } ``` 2. **阻止页面被框架加载**: - 当页面不希望被其他网站以框架形式加载时,可以通过比较`top.location`与`self.location`来实现这一功能。 ```javascript if (top.location !== self.location) { top.location.href = self.location.href; } ``` 这段代码的意思是:如果当前页面不是顶层页面,则将顶层页面的URL重定向为当前页面的URL,从而避免页面被嵌入到其他框架中。 3. **在不同层级窗口间导航**: - `top.location.href`:通常用于将用户引导至顶层窗口的新页面,这在处理复杂的多级框架结构时非常有用。 - `self.location.href`:用于在当前窗口(即当前框架)中进行页面跳转。 - `parent.location.href`:用于在父窗口中打开新的URL,适用于当前页面位于某个框架内的情况。 4. **实例演示**: 考虑以下HTML结构: ```html <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.htm`包含以下JavaScript代码: ```javascript function rs() { if (top !== self) { top.location.href = location.href; } parent.left.location.href = "top.htm"; parent.bot.location.href = "top.htm"; } <input type="button" name="name" value="ksdj" onclick="rs();"> ``` 当点击按钮时,这段代码会检查当前页面是否为顶层页面,并根据结果决定是否重新加载顶层页面,同时更新左侧和底部框架的内容。 #### 三、总结 - **`top.location.href`**:用于操作顶层窗口的URL,适用于需要跳出当前框架的场景。 - **`self.location.href`**:用于操作当前窗口(即当前框架)的URL,适用于在当前框架内进行页面跳转的场景。 - **`parent.location.href`**:用于操作父窗口的URL,适用于当前页面位于某个框架内的情况。 通过这些知识点的理解和应用,开发者可以在处理复杂的网页框架结构时更加得心应手,确保页面的正确加载和展示。




















- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 选修三:现代生物科技专题基因工程:精品练习.doc
- 进化算法与其在数值计算中应用.ppt
- 一个完整的项目管理流程.doc
- 计算机系统故障诊疗和维护常见故障和排除.pptx
- 软件测试名词解释、简答题以及综合题(含答案).doc
- 通信工程施工安全生产操作规范培训用材料.doc
- 基于PLC的变频恒压供水控制系统设计.doc
- 项目管理流程(精).ppt
- 实训7-操作系统安装和磁盘管理实训报告磁盘管理实训报告.docx
- 电子商务概论电子杜江萍专业知识讲座.ppt
- 软件开发试用期工作总结(多篇).docx
- 项目管理考核办法实施细则.doc
- 项目十五消防报警及联动控制系统集成.pptx
- 网络多媒体控制系统.docx
- 数字通信原理试卷及答案.doc
- 计算机控制系统的发展历程.docx


