2.弹启一个被F11化后的窗?
QhtmlQ?
Qbody onload="window.open(' http://www.e3i5.com','example02','channelmode');"Q?
QbQ?a ="http://www.e3i5.com">www.e3i5.comQ?bQ?
Q?bodyQ?
Q?htmlQ?
3.弹启一个带有收藏链接工h的窗?/strong>
QhtmlQ?
Qbody onload="window.open('http://www.e3i5.com','example03','width=400,height=300,directories');"Q?
QbQ?a ="http://www.e3i5.com">www.e3i5.comQ?bQ?
Q?bodyQ?
Q?htmlQ?
4.|页对话?/strong>
QhtmlQ?
QSCRIPT LANGUAGE="javascript"Q?
Q?--
showModalDialog('http://www.e3i5.com','example04','dialogWidth:400px;dialogHeight:300px;dialogLeft:200px;dialogTop:150px;center:
yes;help:yes;resizable:yes;status:yes')
//--Q?
Q?SCRIPTQ?
QbQ?a ="http://www.e3i5.com">www.e3i5.comQ?bQ?
Q?bodyQ?
Q?htmlQ?
QhtmlQ?
QSCRIPT LANGUAGE="javascript"Q?
Q?--
showModelessDialog('http://www.e3i5.com','example05','dialogWidth:400px;dialogHeight:300px;dialogLeft:200px;dialogTop:150px;center:yes;
help:yes;resizable:yes;status:yes')
//--Q?
Q?SCRIPTQ?
QbQ?a ="http://www.e3i5.com">www.e3i5.comQ?bQ?
Q?bodyQ?
Q?htmlQ?
showModalDialog()或是showModelessDialog() 来调用网对话框Q至于showModalDialog()与showModelessDialog()的区别,在于showModalDialog()打开的窗口(U模式窗口)Q置在父H口上,必须关闭才能讉K父窗?量用Q以免招人反?QshowModelessDialog()Q简U无模式H口Q,打开后不必关闭也可访问父H口打开的窗口?
dialogHeight: iHeight 讄对话框窗口的高度?
dialogWidth: iWidth 讄对话框窗口的宽度?
dialogLeft: iXPos 讄对话框窗口相对于桌面左上角的left位置?
dialogTop: iYPos 讄对话框窗口相对于桌面左上角的top位置?
center: {yes no 1 0 } 指定是否对话框在桌面上居中Q默认值是“yes”?
help: {yes no 1 0 } 指定对话框窗口中是否昄上下文敏感的帮助图标。默认值是“yes”?
resizable: {yes no 1 0 } 指定是否对话框窗口大可变。默认值是“no”?
status: {yes no 1 0 } 指定对话框窗口是否显C状态栏。对于非模式对话框窗口,默认值是“yes”Q对于模式对话框H口Q默认值是 “no”?
5.HTAH口
HTA的全名ؓHTML ApplicationQ翻译过来就是HTML应用E序Q你只要单的?hta为扩展名保存HTML面q创徏了一个HTA文gQ下面我们就用HTA来编个窗口,以下这D代码保存ؓ.hta文gQ然后再用浏览器打开?
QHTMLQ?
QHEADQ?
QTITLEQ?a ="http://www.e3i5.com">www.e3i5.comQ?TITLEQ?
QHTA: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" /Q?
Q?HEADQ?
QBODYQ?
QbQ?a ="http://www.e3i5.com">www.e3i5.comQ?bQ?
Q?BODYQ?
Q?HTMLQ?
有h会发C面这些代码与qx的html有点不同Q多了HTA:APPLICATION标签Q这是关键之处Qhta通过它来提供一pd面向应用E序的功能,接下来再讲一讲它的属性(我的头又在发胀Q?
APPLICATIONNAME属?applicationName)
此属性ؓ讄HTA的名U?
BORDER属?border)
此属性ؓ讄为HTA的窗口边框类型,默认gؓ thick?
它可以设为 thick 指定H口为粗Ҏ
dialog window 指定H口为对话框
none 指定H口无边?
thin 指定H口为窄Ҏ
BORDERSTYLE属?borderStyle)
此属性ؓ讄HTAH口的边框格式,默认gؓ normal?
它可以设?
normal 普通边框格?
complex 凹凸格式l合Ҏ
raised 凸出?DҎ
static 3DҎ格式
sunken 凹进?DҎ
CAPTION属?caption)
此属性ؓ讄HTAH口是否昄标题栏或标题Q默认gؓ yes?
ICON属?icon)
此属性ؓ讄应用E序的图标?
MAXIMIZEBUTTON属?maximizeButton)
此属性ؓ讄是否在HTAH口中显C最大化按钮Q默认gؓ yes?
MINIMIZEBUTTON属?minimizeButton)
此属性ؓ讄是否在HTAH口中显C最化按钮Q默认gؓ yes?
SHOWINTASKBAR属?showInTaskBar)
此属性ؓ讄是否在Q务栏中显C此应用E序Q默认gؓ yes?
SINGLEINSTANCE属?singleInstance)
此属性ؓ讄是否此应用程序同时只能运行一ơ。次属性以APPLICATIONNAME属性作为标识,默认gؓ no?
SYSMENU属?sysMenu)
此属性ؓ讄是否在HTAH口中显C系l菜单,默认gؓ yes?
VERSION属?version)
此属性ؓ讄应用E序的版本,默认gؓI?
WINDOWSTATE属?windowState)
此属性ؓ讄HTAH口的初始大,默认gؓ normal?
它可以设?normal 默认大小
minmize 最化
maximize 最大化
以上括号中的是在脚本引用的属性。在脚本中以上属性皆为只d性。此外,在脚本中q可以用commandLine属性来索应用程序启动时的参数?
在HTA中还可以l箋使用html中的l大多数标签、脚本等?
toolbar=no,menubar=no,scrollbars=no,resizable=no,
location=no,status=no')
//写成一?nbsp;
-->
</SCRIPT>
参数解释Q?nbsp;
<SCRIPT LANGUAGE="javascript"> js脚本开始;
window.open 弹出新窗口的命oQ?nbsp;
page.html 弹出新窗口的文g名;
newwindow 弹出H口的名字(不是文g名)Q可用空 ″代替Q?nbsp;
height=100 H口高度Q?nbsp;
top=0 H口距离屏幕上方的像素|
left=0 H口距离屏幕左侧的像素|
toolbar=no 是否昄工具栏,yes为显C;
menubar,scrollbars 表示菜单栏和滚动栏;
resizable=no 是否允许改变H口大小Qyes为允许;
location=no 是否昄地址栏,yes为允许;
status=no 是否昄状态栏内的信息Q通常是文件已l打开Q,yes为允许;
</SCRIPT> js脚本l束?nbsp;
【用函数控制弹出H口?nbsp;
下面是一个完整的代码?nbsp;
<html>
<head>
<script LANGUAGE="javascript">
<!--
function openwin(){
window.open("page.html","newwindow","height=100,width=400,toolbar=no,menubar=no,scrollbars=no,resizable=no,
location=no,status=no";)
//写成一?nbsp;
}
-->
</script>
</head>
<body onload="openwin()">
...L的页面内?..
</body>
</html>
q里定义了一个函数openwin(),函数内容是打开一个窗口。在调用它之前没有Q何用途。怎么调用呢?
Ҏ一Q?lt;body onload="openwen()"> 览器读面时弹出窗口;
Ҏ二:<body onunload="openwen()"> 览器离开面时弹出窗口;
Ҏ三:用一个连接调用:<a href="#" onclick="openwin()">打开一个窗?lt;/a>
注意Q用的"#"是虚q接?nbsp;
Ҏ四:用一个按钮调用:<input type="button" onclick="openwin()" value="打开H口">
【主H口打开文g1.htmQ同时弹出小H口page.html?nbsp;
如下代码加入主H口<head>区:
<script language="javascript">
<!--
function openwin(){
window.open("page.html","","width=200,height=200" ;)
}
//-->
</script>
加入<body>区:<a href="1.htm" onclick="openwin()">open</a>卛_?nbsp;
【弹出的H口之定时关闭控制?nbsp;
下面我们再对弹出H口q行一些控Ӟ效果更好了。如果我们再一段代码加入弹出的页面(注意是加入到page.html的HTML中,可不是主面中,否则…Q,让它?0U钟后自动关闭是不是更酷了?
首先Q将如下代码加入page.html文g?lt;head>区:
<script language="javascript">
function closeit() {
setTimeout("self.close()",10000) //毫秒
}
</script>
然后Q再?lt;body onload="closeit()">q一句话代替page.html中原有的<BODY>q一句就可以了。(q一句话千万不要忘记写啊Q这一句的作用是调用关闭窗口的代码Q?0U钟后就自行关闭该窗口。)
【在弹出H口中加上一个关闭按钮?nbsp;
<form>
<INPUT TYPE='BUTTON' value='关闭' onClick='window.close()'>
</form>
呵呵Q现在更加完了Q?nbsp;
【内包含的弹出窗口——一个页面两个窗口?nbsp;
上面的例子都包含两个H口Q一个是ȝ口,另一个是弹出的小H口?nbsp;
通过下面的例子,你可以在一个页面内完成上面的效果?nbsp;
<html>
<head>
<SCRIPT LANGUAGE="javascript">
function openwin()
{
OpenWindow=window.open("","newwin","height=250,width=250,toolbar=no,scrollbars="+scroll+",menubar=no";);
//写成一?nbsp;
OpenWindow.document.write("<TITLE>例子</TITLE>" ;)
OpenWindow.document.write("<BODY BGCOLOR=#FFFFFF>" ;)
OpenWindow.document.write("<H1>Hello!</h1>" ;)
OpenWindow.document.write("New window opened!" ;)
OpenWindow.document.write("</BODY >" ;)
OpenWindow.document.write("</HTML>" ;)
OpenWindow.document.close()
}
</script>
</head>
<body>
<a href="#" onclick="openwin()">打开一个窗?lt;/a>
<input type="button" onclick="openwin()" value="打开H口">
</body>
</html>
看看OpenWindow.document.write()里面的代码不是标准的HTML吗?只要按照格式写更多的行即可。千万注意多一个标{或一个标{N会出现错误。记住用OpenWindow.document.close()l束啊?nbsp;
【终极应用——弹出窗口的Cookie控制?nbsp;
回想一下,上面的弹出窗口虽焉Q但是有一点小毛病Q你沉浸在喜悦之中,一定没有发现吧Q)比如你将上面的脚本放在一个需要频J经q的面里(例如首页Q,那么每次hq个面Q窗口都会弹Zơ,是不是非常烦人?有解决的办法吗?Yes!Follow me。我们用Cookie来控制一下就可以了?nbsp;
首先Q将如下代码加入主页面HTML?lt;HEAD>区:
<script>
function openwin(){
window.open("page.html","","width=200,height=200" ;)
}
function get_cookie(Name){
var search = Name+ "="
var returnvalue ="";
if (documents.cookie.length >0){
offset = documents.cookie.indexOf(search)
if (offset!=-1){
offset += search.length
end = documents.cookie.indexOf (";",offset);
if (end ==-1)
end = documents.cookie.length;
returnvalue =unescape(documents.cookie.substring(offset,end))
}
}
return returnvalue;
}
function loadpopup(){
if (get_cookie('popped')==";){
openwin()
documents.cookie="popped=yes"
}
}
</script>
然后Q用<body onload="loadpopup()">Q注意不是openwin 而是loadpop啊)替换主页面中原有?lt;BODY>q一句即可。你可以试着h一下这个页面或重新q入该页面,H口再也不会弹出了。真正的Pop-Only-Once!
写到q里Q弹出窗口的制作和应用技巧基本上是讲完了,希望Ҏ在制作网늚朋友有所帮助我就非常ƣ慰了?nbsp;
需要注意的是,JS脚本中的大小写最好前后保持一致?nbsp;
没有菜单、工h、地址栏的弹出H口Q?nbsp;
<script language="javascript">
<!--
var gt = unescape('%3e');
var popup = null;
var over = "Launch Pop-up Navigator";
popup = window.open('', 'popupnav', 'width=500,height=500,resizable=0,scrollbars=auto'); // width=500,height=500为窗口长和宽
if (popup != null) {
if (popup.opener == null) {
popup.opener = self; }
popup.location.href = '要打开的文件名';
}
// -->
</script>