top.location和location.href的区别

转自:http://www.cnblogs.com/liangyu/articles/2530884.html

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。

实际中可能这样使用:

1 if(top !== self){
2
3    top.location.href = location.href;
4
5 }   //禁止frame引用

以下是从网上找到的一个例子,不是很直观, 我加了上面那三行代码, 可以先去掉, 再加上, 看一下效果,就很清楚了。

top.htm 代码:

 1 <script language=javascript>
 2
 3    function rs(){
 4
 5     if(top !== self){
 6
 7       top.location.href = location.href;
 8
 9       }
10
11       parent.left.location.href="top.htm" ;
12
13     parent.bot.location.href="top.htm";
14
15       }
16
17 < /script>
18
19 < input type=button name=name value="ksdj" onclick=rs();>

以下是一个随意文件名的htm文件:

 1 <FRAMESET COLS="150,*">
 2
 3     < FRAME SRC="left.htm" name=left>
 4
 5     < FRAMESET ROWS="150,*">
 6
 7          < FRAME SRC="top.htm" name=top>
 8
 9          < FRAME SRC="bot.htm" name=bot>
10
11     < /FRAMESET>
12
13     < /FRAMESET>  

试试,可能是这样的效果!

top表示主窗口,location表示当前窗口,如果你的文件只有一个框架,没有iframe和frmaeset,那么是完全一致的,没有区别。

top.location是在顶层frame中打开新页   window.location是在当前frame中打开新页

parent.location 在当前窗口的父窗口打开Url地址

原文地址:https://www.cnblogs.com/Janejxt/p/9240440.html

时间: 2024-10-09 07:15:11

top.location和location.href的区别的相关文章

document.URL 和 windows.location.href的区别

1. 从输出结果上,document.URL 和 windows.location.href 没有区别.2. 非要说区别的话,你只可以读取document.URL的值,不能修改它.windows.location.href的值你即可以读取也可以修改.3. windows.location.href是旧的写法,新的标准推荐用document.URL替代.(如果你只是读取的话)

location和location.href跳转url的区别

使用 location = url  跳转,如果本地之前已经载入过该页面并有缓存,那么会直接读取本地的缓存,缓存机制是由本地浏览器设置决定的.状态码为:  200 OK (from cache) . 使用 location.href = url 跳转,资源的缓存类型是根据服务器缓存配置决定的,都会向服务端发起请求,状态码会有两种情况: 200 OK 和  304 Not Modified  .前者表示该页面是从服务端重新载入的,后者表示从HTTP 头部的 If-Modified-Since 来判

location.hash &amp;&amp; location.href

hash:设置或获取 href 属性中在井号“#”后面的分段. href:设置或获取整个URL为字符串. 通过下面的测试你会发现区别,将代码放到你的HTML中,然后用浏览器打开,测试步骤: 点击“超链接”,你会发现在地址栏URL发生了变化,URL后面多了一个“#foo”. 点击"href",你会发现弹出的是地址栏的URL地址. 点击"hash",你会发现弹出的是#foo. <a href="#foo">超链接</a> &l

破解&amp;屏蔽防止嵌入框架代码 top.location != self.location

<script type="text/javascript"> if (top.location != self.location) top.location = self.location; </script>

href=&#39;#&#39;和href=&#39;###&#39;的区别以及javascript:;与javascript:void(0)使用介绍

href='#': 我们有时会写这样的连接<a href="#" >xxx</a>为了不发生跳转,其实是不太正确的,因为href="#",包含了一个位置信息.默认的锚是#top,也就是网页的上端,其实它是发生了跳转的,每次都跳转到网页的顶端,如果你的网页只有一屏,当然看不出来,但是会有问题,因为每次点击都发生了跳转,所以,如果频繁点击会导致浏览器巨慢甚至崩溃. href='###': 这种写法是个人习惯问题,解释一下就会明白,基于href=&

a标签的href=&quot;javascript:void(0)&quot;和href=&quot;#&quot;的区别

好文要推:a标签的href="javascript:void(0)"和href="#"的区别 张鑫旭这篇文章也挺风趣的,作为一个轻微代码洁癖的程序员,该纠结时就纠结:是习惯还是规范!?   疑问:为什么要使用href="javascript:void(0);"? a 标签要写href属性!~有了href属性,天然鼠标手型,以及可以被键盘focus以及focus时候回车模拟点击行为(支持回车点击和默认可以获取焦点). href="#&qu

easyUI Tab href,content区别

easyUI的Tab面板是继承了panel Tab中js的两种用法: 说明:jsp主页面添加一个id为tab的div,要引入easyUI的相关js.css <div data-options="region:'center'" > <div id="tab" class="easyui-tabs" fit="true"> <div title="主页"></div&

链接中 href=&#39;#&#39; 和 href=&#39;###&#39; 的区别以及优缺点

首先,<a> 标签 + onclick='{jscode}' 是很常用的一种 js 运用方式,而不使用 href='javascript:{jscode}' 是为了兼容多种浏览器对 <a> 标签的解释和处理不同.其次,使用 <a> 标签 + onclick='{jscode}'  时经常会加一个 href='###',而有时这个 href='###' 会被误写为 <a href='#'> 是因为使用者没有理解 '#' 和 '###' 的区别. 简单地说,就是

浅析src与href的区别

src与href的区别 SRC src用于替换当前元素,href用于在当前文档和引用资源之间确立联系. src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置:在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和iframe等元素. 举例: script元素:<script src ="js.js"></script> 当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载.编译.执行