常见的几种开发形式:

self.location.href;
window.location.href;this.location.href;
location.href;
parent.location.href;
top.location.href;

经常见到的大概有以上几种形式.

通过实际的例子讲解以上的几种形式有什么具体的区别:

总共是4个具体的HTML页面:

a.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>这是a.html页面</title>
<metahttp-equiv="content-type"content="text/html; charset=gb2312">
</head>
<body>
<formid="form1"action="">
<div><strong>这是a.html页面<strong>
<iframesrc="b.html"width="500px"height="300px"></iframe> </strong></strong></div>
</form>
</body>
</html>

b.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>这是b.html</title>
<metahttp-equiv="content-type"content="text/html; charset=gb2312">
</head>
<body>
<span>这是b.html</span><spanid="span1"></span><br/>
<iframesrc="c.html"width="500px"height="300px"></iframe>
</body>
</html>

c.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>这是c.html</title>
<metahttp-equiv="content-type"content="text/html; charset=gb2312">
</head>
<body>
<span><strong>这是c.html:<strong></span><spanid="span1"></span><br/>
<iframesrc="d.html"width="500px"height="300px"></iframe>
</body>
</html>

d.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>这是d.html</title>
<metahttp-equiv="content-type"content="text/html; charset=gb2312">
<scripttype="text/javascript">functionjump(){*********}</script>
</head>
<body>
<span>这是d.html:</span><spanid="span1"></span><br/>
<inputtype='button'onclick='jump();'value='跳转'>
<iframesrc="d.html"width="500px"height="300px"></iframe>
</body>
</html>

打开a.html对应的截图如下:

下面再d.html中写入对应的js代码,看各种跳转是什么样的效果:

    functionjump(){//经测试:window.location.href与location.href,self.location.href,location.href都是本页面跳转//作用一样window.location.href="http://www.baidu.com";//location.href="http://www.baidu.com";//self.location.href="http://www.baidu.com";//his.location.href="http://www.baidu.com";//location.href="http://www.baidu.com";
}

再次运行a.html,点击那个"跳转" 按钮,运行结果贴图二如下:

对比图一和图二的变化,你会发现d.html部分已经跳转到了百度的首页,而其它地方没有发生变化。这也就解释了"本页跳转"是什么意思。

好,再来修改d.html里面的js部分为:

    functionjump(){parent.location.href='http://www.baidu.com';}

显示效果如下:

你会发现a.html中嵌套的c.html部分已经跳转到了百度首页。

分析:我点击的是a.html中嵌套的d.html部分的跳转按钮,结果是a.html中嵌套的c.html部分跳转到了百度首页,这就解释了"parent.location.href是上一层页面跳转"的意思。
再次修改d.html里面的js部分为:

    functionjump(){top.location.href='http://www.baidu.com';}

显示效果如下:

分析:我点击的是a.html中嵌套的d.html部分的跳转按钮,结果是a.html中跳转到了百度首页,这就解释了"top.location.href是最外层的页面跳转"的意思。

总结:

看完上面的讲解之后,在来看看下面的定义你就会非常明白了:
"top.location.href"是最外层的页面跳转
"window.location.href"、"location.href"是本页面跳转
"parent.location.href"是上一层页面跳转.

转载于:https://www.cnblogs.com/DreamDrive/p/4390842.html

关于location.href几种用法的区别相关推荐

  1. location和location.href跳转url的区别

    使用 location = url  跳转,如果本地之前已经载入过该页面并有缓存,那么会直接读取本地的缓存,缓存机制是由本地浏览器设置决定的.状态码为:  200 OK (from cache) . ...

  2. Html A标签中 href 和 onclick用法、区别、优先级别

    http://gocom.primeton.com/blog21307_27051.htm 我以前在写<A>的href和onclick一直很随意,后来出过几次问题,以后才开始重视这个问题: ...

  3. location.href和open的几种用法和区别

    window.location.href和window.open的几种用法和区别 一.location.href常见的几种形式 二.location.href不同形式之间的区别 三.location. ...

  4. js获取当前域名、Url、相对路径和参数以及指定参数——下载文件-window.location.href

    js获取当前域名.Url.相对路径和参数以及指定参数--下载文件-window.location.href 1.js获取当前域名有2种方法 //方法一 var domain = document.do ...

  5. jsp中include 的两种用法

    1.两种用法 静态include: <%@ inlcude file ="header.jsp" %> 此时引入的是静态的jsp文件,它将引入的jsp中的源代码原封不动 ...

  6. js实现网页防止被iframe框架嵌套及几种location.href的区别

    首先我们了解一下几种location.href的区别简单的说:几种location.href的区别js实现网页被iframe框架功能,感兴趣的朋友可以了解下 首先我们了解一下:window.locat ...

  7. location.href的几种用法

    location.href 在js中,location.href经常用于页面跳转.它主要有如下几种用法: 1.在当前页面打开URL页面.需要注意的是window.location.href=windo ...

  8. 几种location.href的区别 js实现网页防止被iframe框架嵌套功能 .

    首先我们了解一下:window.location.href.location.href.self.location.href.parent.location.href.top.location.hre ...

  9. window.open和window.location.href的几种用法

    windows.open("URL","窗口名称","窗口外观设定"); <A href="javascript:windo ...

最新文章

  1. python用动态规划求最短路径_动态规划之最短路径和
  2. SQL SERVER 2008 登陆失败(SQL和windows都没有对应的权限)
  3. 紧致差分的matlab程序,对流占优扩散方程的一种新C—N 紧致差分格式
  4. CENTOS在输入ifconfig命令时,提示没有命令的处理方法
  5. keepalive之LVS-DR架构
  6. srgan要训练多久_有氧运动要多久才开始消耗脂肪?
  7. 云服务器ECS能做什么用途?
  8. idea安装findBugs 报idea运行项目报错Cannot run program
  9. 实时文件同步工具-端端Clouduolc在项目研发中的使用体会
  10. win10 家庭版安装 docker报requires windows 10 pro/enterprise (15063+) or windows 10 home (19018+)
  11. php可以用wamp哪个好,phpstudy和wamp哪个好
  12. Google默认壁纸的尺寸要求
  13. 解决netsh winsock reset找不到指定文件
  14. server多笔记录拼接字符串 sql_sqlserver 将多行数据查询合并为一条数据
  15. 个人随笔-求学求职-工作经历-计划
  16. 关于zheng项目的学习步骤{ 转载 }
  17. 学校计算机学生上机记录表,学生上机登记表.doc
  18. 解决联想笔记本安装银河麒麟系统安装时只有机械硬盘,没有固态硬盘的方法
  19. faded怎么用计算机弹,superpads教程fade怎么弹 superpads faded谱子一览
  20. excel图表整形:如何提升条形图的颜值

热门文章

  1. TS Decorator
  2. 南开大学计算机本科论文,南开大学本科毕业论文设计-南开大学教务处主页.DOC...
  3. 分离链接法的删除操作函数
  4. “send“ and “transfer“ are only available for objects of type “address payable“, not “address
  5. Spring配置中的classpath:与classpath*:的区别研究
  6. php打包mysql_PHP封装MySQL的单例
  7. 初识c语言教程,第1课C语言教程一: 初识C程序.doc
  8. 解决切换场景时NGUI图集资源未释放的问题
  9. 10、存储过程、while语句
  10. Android之创建选项菜单