javascript中的窗口和框架
框架:
在网络上我们可以看到很多WEB应用程序都是使用框架(frame)来分隔浏览器窗口的,就想一块块玻璃隔板把窗口分隔成好几个小窗口,并且可以在不同的小窗口中加载显示不同的页面,这样在我们看来好像是一个完整的页面,但实际上它是由几个页面组合而成的。
javascript允许我们操作框架,在一个框架中定义的变量和函数可以在另一个框架中使用。这样做可以实现两个优点。
- 代码模块化:可以把通用的代码和属性统一放在一个框架中,然后在其他页面中使用。那么这个放置通用函数和属性的框架就叫做代码模块。
- 可以方便在页面中传递信息。如果你把函数或变量放置在定义框架集页面中,那么你在修改框架中的页面,在框架集页面中定义的属性和方法也不会改变。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Chapter 8: Example 1</title>
</head>
<frameset rows="50%, *" id="topWindow">
<frame name="uphtml" src="uphtml.html" />
<frame name="downhtml" src="downhtml.html" />
</frameset>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<style>
body{background: yellow;width: 100%;height: 500px;}
</style>
<script>
function fun01(){
alert(window.parent.location.href);
alert(window.name);
} </script>
</head>
<body onload="fun01()">
我是上面的页面
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<style>
body{background: red}
</style>
<script>
function fun01(){
alert(window.parent.location.href);
alert(window.name);
} </script>
</head>
<body>
我是下面的页面
</body>
</html>
它们的父亲都是html.html页面。
parent属性:
top属性:
IFrames
<iframe name="myhml" src="myhtml.html"></iframe>
这代码是把名为myhtml的框架添加到页面中,该框架加载了myhtml.html文档。
window.iframe["myhtml"] 通过名字+索引
打开新窗口
window对象的open()方法:
<a href="downhtml.html" target="myopen">fff </a>
这表示单击连接时,downhtml.html页面会加载到新窗口,而不是当前窗口中。form元素的target属性也是这样。
window对象的close()方法:
window对象的closed属性
document.write()方法:
| 窗口的特性 | 可以取的值 | 描述 |
| copyHistory |
yes/no |
当打开新窗口时复制当前窗口的历史记录 |
| directories | yes/no | 显示目录按钮 |
| height | 整数 | 新窗口的高度 |
| width | 整数 | 新窗口的宽度,以像数为单位 |
| left | 整数 | 新窗口距屏幕左边界的距离 |
| location | yes/no | 显示地址文本字段 |
| menubar | yes/no | 显示菜单栏 |
| resizable | yes/no | 打开新窗口后,允许用户重置新窗口的大小 |
| scrollbars | yes/no | 如果页面太大,在新窗口中放不下,就显示滚动条 |
| status | yes/no | 显示状态栏 |
| toolbar | yes/no |
显示工具栏 |
| top | 整数 |
新窗口距屏幕顶部的距离 |
window对象中的opener属性:
javascript中的窗口和框架的更多相关文章
- JavaScript中的BOM知识框架
浏览器对象模型(BOM)以window对象为依托,表示浏览器窗口及可见区域.同时,window对象和还是全局对象,因此所有求安局变量和函数都是它的属性,所有原生框架及其他函数都在它命名之下.BOM中对 ...
- 理解javascript中的浏览器窗口——窗口基本操作
× 目录 [1]窗口位置 [2]窗口大小 [3]打开窗口[4]关闭窗口 前面的话 BOM全称是brower object model(浏览器对象模型),主要用于管理窗口及窗口间的通讯,其核心对象是wi ...
- (转载)JavaScript中的Window窗口对象
(转载)http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 例子: <html> <head> < ...
- javascript 中的console.log和弹出窗口alert
主要是方便你调式javascript用的.你可以看到你在页面中输出的内容. 相比alert他的优点是: 他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是co ...
- JavaScript中常用语句
1.document.write( " "); 输出语句 2.JS中的行注释为:// 块注释:/**/ 3.传统的HTML文档顺序是:document- >html- > ...
- Javascript中String对象的的简单学习
第十一课String对象介绍1:属性 在javascript中可以用单引号,或者双引号括起来的一个字符当作 一个字符对象的实例,所以可以在某个字符串后再加上.去调用String 对象 ...
- 转 asp.net中如何退出整个框架(frameset),回到登录界面
如: <frameset rows= "74,*,0,0 " cols= "* " frameborder= "NO " border ...
- javascript中的cookie,以及事件解析
Cookie: 它的意思是在本地的客户端的磁盘上以很小的文件形式保存数据,Cookie的处理原则上需要在服务器环境下运行,目前Chrome不可以在客户端操作Cookie,其他浏览器均可以, Coo ...
- JavaScript中的Function(函数)对象
1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4. ...
随机推荐
- struts-OGNL
特点 常用来访问值栈里对象属性的一种语言 通常由struts标签来解析执行 <%@ taglib prefix="s" uri="/struts-tags" ...
- C++之路进阶codevs1269(匈牙利游戏)
1269 匈牙利游戏 2012年CCC加拿大高中生信息学奥赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description ...
- 利用selector设置ImageButton不同状态下的背景图片
1.自定义MyButton类 public class MyButton extends Button { //This constructormust be public MyButton(Cont ...
- Linux搭建nfs服务器
使用linux进行嵌入式开发的时候,为了方便开发,通常是将开发板挂载到宿主机的文件系统上,然后将代码放到共享给开发板的目录中,再通过开发板运行. 首先查看是否安装了 nfs 软件包,yum list ...
- iOS的数据持久化
所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) pr ...
- EditPlus 3.7 中文版已经发布
新一版的 EditPlus 已经在昨天发布了!新版本增加了一个 64位版程序.大家可以到官方网站下载哦. 我同步更新翻译了 32位版应用程序.请点击页面左上角的链接下载.
- EntityFramework 使用经验
1.Nuget控制台常用命令 1.获取EntityFramework命令帮助:get-help EntityFramework 2.在项目中启动数据迁移:Enable-Migrations 3.添加 ...
- MessageReceiver
class MessageReceiver { private RelayEngine<MessageCollection> _MessageRelayEngine; private st ...
- [已解决] github merge指定commit
比如说有两个branch,分别是master和m1,我们在m1上修改的bug怎么merge到master上呢, 怎么merge我不知道,但是有另外一个命令可以做到,比如m1做commit,sha-1为 ...
- sql 查询表中所有字段的名称
最近工作用到SQL语句查询表中所有字段的名称,网上查询,发现不同数据库的查询方法不同,例如: SQL server 查询表的所有字段名称:Select name from syscolumns Whe ...