不要小瞧了这普普通通的windows,除了常用的window.open()与window.resizeTo()方法来开启窗口外,仔细挖掘,你还能找到许多奥秘在里头,下面就跟着我一起来探索探索吧!
一、继续解剖window.open()
说明:如无特别说明,以下红色标注的代码就是关键代码
1、弹启一个全屏窗口
window.open('http://www.webjx.com','example01','fullscreen')
<html>
<body onload="window.open(' http://www.webjx.com','example01','fullscreen');">
<b>www.webjx.com</b>
</body>
</html>
我的电脑屏幕整个都是一张网页了,怎么样,是不是有点触摸屏的味道呢?(手指不由自主地点了上去)。
2、弹启一个被F11化后的窗口
window.open('http://www.webjx.com','example02','channelmode')
<html>
<body onload="window.open(' http://www.webjx.com','example02','channelmode');">
<b>www.webjx.com</b>
</body>
</html>
这样的窗口类似于被按了F11后的浏览器模式。
3、弹启一个带有收藏链接工具栏的窗口
window.open('http://www.webjx.com','example03','width=400,height=300,directories')
<html>
<body onload="window.open('http://www.webjx.com','example03','width=400,height=300,directories');">
<b>www.webjx.com</b>
</body>
</html>
呵呵,平时IE上的链接工具栏不太用,所以对这个不太感冒,但或许有的朋友用得上,权当是送给他们吧。
二、对话框窗口
IE帮助下关于Internet Explorer选项打开后的窗口,大家是否注意过(哪个家伙会无聊到这种程度?),我们也可以用对话框窗口来实现,这就要用到showModalDialog()或是showModelessDialog()
<html>
<SCRIPT LANGUAGE="JavaScript">
<!--
showModalDialog('http://www.webjx.com','example04','dialogWidth:400px;dialogHeight:300px;dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes')
//-->
</SCRIPT>
<b>www.webjx.com</b>
</body>
</html>
<html>
<SCRIPT LANGUAGE="JavaScript">
<!--
showModelessDialog('http://www.webjx.com','example05','dialogWidth:400px;dialogHeight:300px;dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes')
//-->
</SCRIPT>
<b>www.webjx.com</b>
</body>
</html>
以上我只是尝试做了一种类型而已,这里面更多的惊奇还等着你去发现,至于showModalDialog()与showModelessDialog()的区别,在于showModalDialog()打开的窗口(简称模式窗口),置在父窗口上,必须关闭才能访问父窗口(建议尽量少用,以免招人反感);showModelessDialog()(简称无模式窗口),打开后不必关闭也可访问父窗口打开的窗口。
现在我将这里的一些参数说明一下,你听了别嫌我烦
dialogHeight: iHeight 设置对话框窗口的高度。
dialogWidth: iWidth 设置对话框窗口的宽度。
dialogLeft: iXPos 设置对话框窗口相对于桌面左上角的left位置。
dialogTop: iYPos 设置对话框窗口相对于桌面左上角的top位置。
center: {yes | no | 1 | 0 } 指定是否将对话框在桌面上居中,默认值是“yes”。
help: {yes | no | 1 | 0 } 指定对话框窗口中是否显示上下文敏感的帮助图标。默认值是“yes”。
resizable: {yes | no | 1 | 0 } 指定是否对话框窗口大小可变。默认值是“no”。
status: {yes | no | 1 | 0 } 指定对话框窗口是否显示状态栏。对于非模式对话框窗口,默认值是“yes”;对于模式对话框窗口,默认值是 “no”。
相信看完了上面那些参数,你也一定能做出一个仿IE帮助下的窗口,哈哈~~~有趣吧
三、HTA窗口
它就是最后要出场的主角啦,或许有的人对这位仁兄还不太熟悉,我简单介绍一下,HTA的全名为HTML Application,翻译过来就是HTML应用程序,你只要简单的用.hta为扩展名保存HTML页面就算创建了一个HTA文件,下面我们就用HTA来编个窗口,将以下这段代码保存为.hta文件,然后再用浏览器打开,会发现什么?买个关子,自己去瞧瞧。
<HTML>
<HEAD>
<TITLE>www.webjx.com</TITLE>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
BORDER="thin"
BORDERSTYLE="normal"
CAPTION="yes"
ICON="filename.ico"
MAXIMIZEBUTTON="yes"
MINIMIZEBUTTON="yes"
SHOWINTASKBAR="no"
INGLEINSTANCE="no"
SYSMENU="yes"
VERSION="1.0"
WINDOWSTATE="normal" />
</HEAD>
<BODY>
<b>www.webjx.com</b>
</BODY>
</HTML>
有人会发现上面这些代码与平时的html有点不同,多了HTA:APPLICATION标签,这就是关键之处,hta通过它来提供一系列面向应用程序的功能,接下来再讲一讲它的属性(我的头又在发胀)
APPLICATIONNAME属性(applicationName)
此属性为设置HTA的名称。
BORDER属性(border)
此属性为设置为HTA的窗口边框类型,默认值为 thick。
它可以设为thick 指定窗口为粗边框
dialog window 指定窗口为对话框
none 指定窗口无边框
thin 指定窗口为窄边框
BORDERSTYLE属性(borderStyle)
此属性为设置HTA窗口的边框格式,默认值为 normal。
它可以设为
normal 普通边框格式
complex 凹凸格式组合边框
raised 凸出的3D边框
static 3D边框格式
sunken 凹进的3D边框
CAPTION属性(caption)
此属性为设置HTA窗口是否显示标题栏或标题,默认值为 yes。
ICON属性(icon)
此属性为设置应用程序的图标。
MAXIMIZEBUTTON属性(maximizeButton)
此属性为设置是否在HTA窗口中显示最大化按钮,默认值为 yes。
MINIMIZEBUTTON属性(minimizeButton)
此属性为设置是否在HTA窗口中显示最小化按钮,默认值为 yes。
SHOWINTASKBAR属性(showInTaskBar)
此属性为设置是否在任务栏中显示此应用程序,默认值为 yes。
SINGLEINSTANCE属性(singleInstance)
此属性为设置是否此应用程序同时只能运行一次。次属性以APPLICATIONNAME属性作为标识,默认值为 no。
SYSMENU属性(sysMenu)
此属性为设置是否在HTA窗口中显示系统菜单,默认值为 yes。
VERSION属性(version)
此属性为设置应用程序的版本,默认值为空。
WINDOWSTATE属性(windowState)
此属性为设置HTA窗口的初始大小,默认值为 normal。
它可以设为 normal 默认大小
minmize 最小化
maximize 最大化
以上括号中的是在脚本引用的属性。在脚本中以上属性皆为只读属性。此外,在脚本中还可以使用commandLine属性来检索应用程序启动时的参数。
在HTA中还可以继续使用html中的绝大多数标签、脚本等。
好了,我们的探索之旅就到此结束了,你是否有意尤未尽的感觉呢?其实写这篇文章,只是想起到一个抛砖引玉的作用,更多的内容还需要你们继续去实验去研究,如果“淘”到了什么好东西,可别忘记公布出来哦。