【转自】http://blog.csdn.net/zdwzzu2006/article/details/6047632

在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法打开当前窗口的那个窗口。

window.self

功能:是对当前窗口(当前页面)自身的引用。它和window属性是等价的。

语法:window.self

注:window、self、window.self是等价的。

window.top

功能:返回顶层窗口,即浏览器窗口。

语法:window.top

注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。

window.parent

功能:返回父窗口。

语法:window.parent

注:如果窗口本身是顶层窗口,parent属性返回的是对自身的引用。

在框架网页中,一般父窗口就是顶层窗口,但如果框架中还有框架,父窗口和顶层窗口就不一定相同了。

判断当前窗口是否在一个框架中:

<script type="text/javascript">
var b = window.top!=window.self;
document.write( "当前窗口是否在一个框架中:"+b );
</script>

你应当将框架视为窗口中的不同区域,框架是浏览器窗口中特定的部分。一个浏览器窗口可以根据你的需要分成任意多的框架,一个单个的框架也可以分成其它多个框架,即所谓的嵌套框架。

js获取根目录

function getRootPath_dc() {var pathName= window.location.pathname.substring(1);var webName= pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));if (webName == "") {return window.location.protocol + '//' +window.location.host;}else{return window.location.protocol + '//' + window.location.host + '/' +webName;}
}

View Code

转载于:https://www.cnblogs.com/maxmoore/p/7845138.html

【转】Js中的window.parent ,window.top,window.self 详解相关推荐

  1. Node.js中的不安全跳转如何防御详解

    为什么80%的码农都做不了架构师?>>>    Node.js中的不安全跳转如何防御详解 导语: 早年在浏览器大战期间,有远见的Chrome认为要运行现代Web应用,浏览器必须有一个 ...

  2. new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解

    new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解 //获得年月日时分秒 //传入日期// ...

  3. 前端开发:JS中let、var和const的区别详解

    前言 前端开发过程中,JS声明变量的关键字想必开发者都不陌生,而且使用的频率在前端开发过程中也是数一数二的.JS中声明变量的关键字有三个let.var和const,但是三者的使用对比和区别也是非常重要 ...

  4. JS 中 scrollWidth、scrollHeight、scrollLeft 、scrollTop 详解

    1. 总述 在JS 中scrollWidth.scrollHeight.scrollLeft .scrollTop 属性在做一些复杂的交互效果中是非常常用的,因此在本博文中详细的介绍并给出实例. 以上 ...

  5. JS中的预编译(AO、GO详解)

    文章目录 一.由实例引发的思考 二.全局上下文GO: 三.函数上下文AO: 四.全局上下文GO+函数上下文AO: 总结 执行js文件的流程: ①通篇检查语法错误 ②预编译 ③解释一行执行一行 一.由实 ...

  6. JS中的call、apply、bind方法详解

    bind 是返回对应函数,便于稍后调用:apply .call 则是立即调用 . apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(co ...

  7. nodejs 获取系统环境变量_Node.js中环境变量process.env的一些事详解

    前言 最近这两天在和运维GG搞部署项目的事儿.碰到一个问题就是,咱们的dev,uat,product环境的问题. 因为是前后端分离,所以在开发和部署的过程中会有对后端接口的域名的切换问题.折腾了一下午 ...

  8. Vue.js中 watch(深度监听-deep)原理以及详解

    handler方法和immediate属性 这里 watch 的一个特点是,最初绑定的时候是不会执行的,要等到 firstName 改变时才执行监听计算.那我们想要一开始就让他最初绑定的时候就执行改怎 ...

  9. js中的bool值转换及 、||、 !!详解

    bool值转换 数据类型 bool值转化 undefined undefined 转化为 false Object null 转化为false,其他为 true Boolean false 转化为 f ...

  10. JS 中的 event?event:window.event什么意思?求详解。

    JS 中的 event?event:window.event什么意思?求详解. 2013-04-16 00:01flying607 | 分类:JavaScript |浏览813次 <script ...

最新文章

  1. 万物皆可embedding,AI 应用神器 Milvus 登顶数据库顶会 SIGMOD
  2. linux-搜索查找类
  3. 《jQuery知识点总结》(一)
  4. Vue 页面如何监听用户预览时间
  5. mysql 查看锁表日志_MYSQL 表锁情况查看
  6. 解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) ...
  7. matlab中结束脚本运行_matlab学习总结(入门篇)
  8. 爬虫-urlparse与urlsplit
  9. 数据库创建联合主键(MySql)
  10. AngularJS学习笔记之directive—scope选项与绑定策略
  11. 嵌入式设备中支持国密算法的方法(三)——移植Openssl库的步骤说明
  12. 软件工程第一次作业程序开发历程
  13. jmeter---ftp性能测试
  14. android解锁方法,手机如何解锁密码 几种安卓手机解锁方法介绍
  15. 帝国CMS7.2重置后台密码
  16. Exp4 恶意代码分析 20164323段钊阳
  17. 基本算法-回溯法(迷宫问题)
  18. 品•文案——聊聊产品文案优化设计
  19. Elasticsearch优秀的索引设置技巧
  20. OFD文件打开、打印设置,看这篇就够了

热门文章

  1. html设置分割线怎么下移,HTML设置水平分割线
  2. Web页面的生命周期函数
  3. ES6学习笔记六(新增数据结构)
  4. 个人展示-LICHUNHUI
  5. 未解决:configure: error: XCode tool ‘metal‘ neither found in path nor with xcrunchecking for metal...
  6. shell中find某个文件排除某个目录
  7. bash: dh_make:未找到命令
  8. LINUX下载编译SDL2
  9. UOS U盘复制性能,3M
  10. 在龙芯机器上编译OpenJDK8