﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-TSH,SSH开发-随笔分类-Html</title><link>http://www.blogjava.net/yc1354/category/19700.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Mar 2007 17:23:52 GMT</lastBuildDate><pubDate>Tue, 27 Mar 2007 17:23:52 GMT</pubDate><ttl>60</ttl><item><title>showModalDialog和showModelessDialog使用心得(转)</title><link>http://www.blogjava.net/yc1354/archive/2007/03/26/106486.html</link><dc:creator>赵永超</dc:creator><author>赵永超</author><pubDate>Mon, 26 Mar 2007 10:19:00 GMT</pubDate><guid>http://www.blogjava.net/yc1354/archive/2007/03/26/106486.html</guid><wfw:comment>http://www.blogjava.net/yc1354/comments/106486.html</wfw:comment><comments>http://www.blogjava.net/yc1354/archive/2007/03/26/106486.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yc1354/comments/commentRss/106486.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yc1354/services/trackbacks/106486.html</trackback:ping><description><![CDATA[
		<p>一、showModalDialog和showModelessDialog有什么不同？<br />　　showModalDialog：被打开后就会始终保持输入焦点。除非对话框被关闭，否则用户无法切换到主窗口。类似alert的运行效果。<br />　　showModelessDialog：被打开后，用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P)</p>
		<p>二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口？<br />　　在被打开的网页里加上&lt;base target="_self"&gt;就可以了。这句话一般是放在&lt;html&gt;和&lt;body&gt;之间的。</p>
		<p>三、怎样才刷新showModalDialog和showModelessDialog里的内容？<br />　　在showModalDialog和showModelessDialog里是不能按F5刷新的，又不能弹出菜单。这个只能依靠javascript了，以下是相关代码：</p>
		<p>&lt;body onkeydown="if (event.keyCode==116){reload.click()}"&gt;<br />&lt;a id="reload" href="filename.htm" style="display:none"&gt;reload...&lt;/a&gt;</p>
		<p>　　将filename.htm替换成网页的名字然后将它放到你打开的网页里，按F5就可以刷新了，注意，这个要配合&lt;base target="_self"&gt;使用，不然你按下F5会弹出新窗口的。</p>
		<p>四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。<br />　　&lt;input type="button" value="关闭" onclick="window.close()"&gt;<br />　　也要配合&lt;base target="_self"&gt;，不然会打开一个新的IE窗口，然后再关掉的。</p>
		<p>五、showModalDialog和showModelessDialog数据传递技巧。<br />　　(作者语：本来想用一问一答形式来写的，但是我想不出这个怎么问，所以只好这样了。)<br />　　这个东西比较麻烦，我改了好几次了不是没办法说明白(语文水平越来越差了)，只好用个例子说明了。<br />　　例子：<br />　　　　现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name</p>
		<p>　　　　　　一般的传递方式：<br />　　　　　　　　window.showModalDialog("filename.htm",var_name)<br />　　　　　　　　//传递var_name变量<br />　　　　　　在showModalDialog(或showModelessDialog)读取和设置时：<br />　　　　　　　　alert(window.dialogArguments)//读取var_name变量<br />　　　　　　　　window.dialogArguments="oyiboy"//设置var_name变量<br />　　　　这种方式是可以满足的，但是当你想在操作var_name同时再操作第二个变理var_id时呢？就无法再进行操作了。这就是这种传递方式的局限性。<br />　　　　<br />　　　　　　以下是我建议使用的传递方式：<br />　　　　　　　　window.showModalDialog("filename.htm",window)<br />　　　　　　　　//不管要操作什么变量，只直传递主窗口的window对象<br />　　　　　　在showModalDialog(或showModelessDialog)读取和设置时：<br />　　　　　　　　alert(window.dialogArguments.var_name)//读取var_name变量<br />　　　　　　　　window.dialogArguments.var_name="oyiboy"//设置var_name变量</p>
		<p>　　　　　　　　同时我也可以操作var_id变量<br />　　　　　　　　alert(window.dialogArguments.var_id)//读取var_id变量<br />　　　　　　　　window.dialogArguments.var_id="001"//设置var_id变量</p>
		<p>　　　　　　　　同样还可以对主窗口的任何对象进行操作，如form对象里的元素。<br />　　　　　　　　window.dialogArguments.form1.index1.value="这是在设置index1元素的值"</p>
		<p>六、多个showModelessDialog的相互操作。<br />　　因为光说很费劲，我就偷点懒，直接用代码来说了，如果不明白的话那就直接来信(oyiboy#163.net(使用时请将#改成@))问我吧。</p>
		<p>　　以下代码的主要作用是在一个showModelessDialog里移动别一个showModelessDialog的位置。</p>
		<p>　　主文件的部份js代码。<br />　　var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px"） //打开控制窗口<br />　　var s2=showModelessDialog('about:blank',window,"dialogTop:200px;dialogLeft:300px"）　　//打开被控制窗口</p>
		<p>　　控制.htm的部份代码。<br />　　&lt;script&gt;<br />　　　　//操作位置数据，因为窗口的位置数据是"xxxpx"方式的，所以需要这样的一个特殊操作函数。<br /> function countNumber(A_strNumber,A_strWhatdo)<br /> {<br />  A_strNumber=A_strNumber.replace('px','')<br />  A_strNumber-=0<br />  switch(A_strWhatdo)<br />  {<br />  case "-":A_strNumber-=10;break;<br />  case "+":A_strNumber+=10;break;<br />  }<br />  return A_strNumber + "px"<br /> }<br />　　&lt;/script&gt;<br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'-')" value="上移"&gt;<br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'-')" value="左移"&gt;<br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'+')" value="右移"&gt;<br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'+')" value="下移"&gt;</p>
		<p>　　以上关键部份是：<br />　　　　窗口命名方式：var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px"）<br />　　　　变量访问方式：window.dialogArguments.s2.dialogTop</p>
		<p>　　这个例子只是现实showModelessDialog与showModelessDialog之间的位置操作功能，通过这个原理，在showModelessDialog之间相互控制各自的显示页面，传递变量和数据等。这要看各位的发挥了。</p>
		<p> </p>
		<p>showModalDialog()、showModelessDialog()方法使用详解 <br /><br /><br />javascript有许多内建的方法来产生对话框，如：window.alert(), window.confirm(),window.prompt().等。 然而IE提供更多的方法支持对话框。如：</p>
		<p>　　showModalDialog() (IE 4+ 支持)<br />　　 showModelessDialog() (IE 5+ 支持)</p>
		<p>
				<br />window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框，由于是对话框，因此它并没有一般用window.open()打开的窗口的所有属性。<br />window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。</p>
		<p>当我们用showModelessDialog()打开窗口时，不必用window.close()去关闭它，当以非模态方式［IE5］打开时， 打开对话框的窗口仍可以进行其他的操作，即对话框不总是最上面的焦点，当打开它的窗口ＵＲＬ改变时，它自动关闭。而模态［ＩＥ４］方式的对话框始终有焦点（焦点不可移走，直到它关闭）。模态对话框和打开它的窗口相联系，因此我们打开另外的窗口时，他们的链接关系依然保存，并且隐藏在活动窗口的下面。</p>
		<p>使用方法如下：<br />vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])<br />vReturnValue = window.showModelessDialog(sURL [, vArguments] [, sFeatures])<br />参数说明：<br />sURL<br />必选参数，类型：字符串。用来指定对话框要显示的文档的URL。<br />vArguments<br />可选参数，类型：变体。用来向对话框传递参数。传递的参数类型不限，包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。<br />sFeatures<br />可选参数，类型：字符串。用来描述对话框的外观等信息，可以使用以下的一个或几个，用分号“;”隔开。<br />dialogHeight 对话框高度，不小于１００px，ＩＥ４中dialogHeight 和 dialogWidth 默认的单位是em，而ＩＥ５中是px，为方便其见，在定义modal方式的对话框时，用px做单位。<br />　　 dialogWidth: 对话框宽度。<br />　　 dialogLeft: 距离桌面左的距离。<br />　　 dialogTop: 离桌面上的距离。<br />　　 center: {yes | no | 1 | 0 }：窗口是否居中，默认yes，但仍可以指定高度和宽度。<br />　　 help: {yes | no | 1 | 0 }：是否显示帮助按钮，默认yes。<br />　　 resizable: {yes | no | 1 | 0 } ［ＩＥ５＋］：是否可被改变大小。默认no。<br />　　 status: {yes | no | 1 | 0 } ［IE5+］：是否显示状态栏。默认为yes[ Modeless]或no[Modal]。<br />scroll:{ yes | no | 1 | 0 | on | off }：指明对话框是否显示滚动条。默认为yes。</p>
		<p>还有几个属性是用在HTA中的，在一般的网页中一般不使用。<br />dialogHide:{ yes | no | 1 | 0 | on | off }：在打印或者打印预览时对话框是否隐藏。默认为no。<br />edge:{ sunken | raised }：指明对话框的边框样式。默认为raised。<br />unadorned:{ yes | no | 1 | 0 | on | off }：默认为no。</p>
		<p>传入参数：<br />要想对话框传递参数，是通过vArguments来进行传递的。类型不限制，对于字符串类型，最大为4096个字符。也可以传递对象，例如：</p>
		<p>test1.htm<br />====================<br />&lt;script&gt;<br />var mxh1 = new Array("mxh","net_lover","孟子E章")<br />var mxh2 = window.open("about:blank","window_mxh")<br />// 向对话框传递数组<br />window.showModalDialog("test2.htm",mxh1)<br />// 向对话框传递window对象<br />window.showModalDialog("test3.htm",mxh2)<br />&lt;/script&gt;</p>
		<p>test2.htm<br />====================<br />&lt;script&gt;<br />var a = window.dialogArguments<br />alert("您传递的参数为：" + a)<br />&lt;/script&gt;</p>
		<p>test3.htm<br />====================<br />&lt;script&gt;<br />var a = window.dialogArguments<br />alert("您传递的参数为window对象，名称：" + a.name)<br />&lt;/script&gt;</p>
		<p>可以通过window.returnValue向打开对话框的窗口返回信息，当然也可以是对象。例如：</p>
		<p>test4.htm<br />===================<br />&lt;script&gt;<br />var a = window.showModalDialog("test5.htm")<br />for(i=0;i&lt;a.length;i++) alert(a[i])<br />&lt;/script&gt;</p>
		<p>test5.htm<br />===================<br />&lt;script&gt;<br />function sendTo()<br />{<br />var a=new Array("a","b")<br />window.returnValue = a<br />window.close()<br />}<br />&lt;/script&gt;<br />&lt;body&gt;<br />&lt;form&gt;<br />&lt;input value="返回" type=button onclick="sendTo()"&gt;<br />&lt;/form&gt;</p>
		<p>常见问题：<br />1，如何在模态对话框中进行提交而不新开窗口？<br />如果你 的 浏览器是IE5.5+,可以在对话框中使用带name属性的iframe，提交时可以制定target为该iframe的name。对于IE4+，你可以用高度为0的frame来作：例子，</p>
		<p>test6.htm<br />===================<br />&lt;script&gt;<br />window.showModalDialog("test7.htm")<br />&lt;/script&gt;</p>
		<p>test7.htm<br />===================<br />if(window.location.search) alert(window.location.search)<br />&lt;frameset rows="0,*"&gt;<br />&lt;frame src="about:blank"&gt;<br />&lt;frame src="test8.htm"&gt;<br />&lt;/frameset&gt;</p>
		<p>test8.htm<br />===================<br />&lt;form target="_self" method="get"&gt;<br />&lt;input name=txt value="test"&gt;<br />&lt;input type=submit&gt;<br />&lt;/form&gt;<br />&lt;script&gt;<br />if(window.location.search) alert(window.location.search)<br />&lt;/script&gt;<br />2,可以通过<a href="http://servername/virtualdirname/test.htm?name=mxh">http://servername/virtualdirname/test.htm?name=mxh</a>方式直接向对话框传递参数吗？<br />答案是不能。但在frame里是可以的。</p>
		<p>
				<br />
		</p>
<img src ="http://www.blogjava.net/yc1354/aggbug/106486.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yc1354/" target="_blank">赵永超</a> 2007-03-26 18:19 <a href="http://www.blogjava.net/yc1354/archive/2007/03/26/106486.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在线HTML编辑器htmlarea简单使用</title><link>http://www.blogjava.net/yc1354/archive/2007/02/07/98583.html</link><dc:creator>赵永超</dc:creator><author>赵永超</author><pubDate>Wed, 07 Feb 2007 05:47:00 GMT</pubDate><guid>http://www.blogjava.net/yc1354/archive/2007/02/07/98583.html</guid><wfw:comment>http://www.blogjava.net/yc1354/comments/98583.html</wfw:comment><comments>http://www.blogjava.net/yc1354/archive/2007/02/07/98583.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yc1354/comments/commentRss/98583.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yc1354/services/trackbacks/98583.html</trackback:ping><description><![CDATA[
		<p> </p>
		<p>这几步是如果使用htmlarea3.0的说明,是在网上看到的. 在/htmlarea/examples/web-menu这个文件里有更为详细的说明.下边的这个链接的版本是多国语言版本,默认的语言为英语.</p>
		<p>一 </p>
		<p>    下载HTMLarea3.0 <a href="http://www.jhdown.com/soft/8/141/html/2006220010681.html">http://www.jhdown.com/soft/8/141/html/2006220010681.html</a>,解压里面的文件到web站点的/htmlarea目录下(可以是自己建的目录,这里建议直接用htmlarea做为目录)；</p>
		<p>二、定义javascript的全局变量及引入js文件: </p>
		<p> &lt;script type="text/javascript"&gt;<br />   _editor_url = "${pageContext.request.contextPath}/htmlarea/";<br />   _editor_lang = "en";<br />&lt;/script&gt;</p>
		<p>&lt;script type="text/javascript" src="${pageContext.request.contextPath}/htmlarea/htmlarea.js"&gt;&lt;/script&gt;</p>
		<p>&lt;script type="text/javascript"&gt;<br />var editor = null;<br />function initEditor() {<br />  editor = new HTMLArea("content");<br />  editor.generate();<br />}<br />&lt;/script&gt;</p>
		<p>有句editor = new HTMLArea("content");"content"是表单中textarea属性的id，如：</p>
		<p>      &lt;html:form action="/actionBbsreply.do?method=update" onsubmit="this['content'].value=editor.getHTML();"&gt;<br />        &lt;textarea cols="110" rows="15" id="content" name="content"&gt;<br />          &lt;bean:write name="bbsreply" property="content"/&gt;<br />        &lt;/textarea&gt;<br />        &lt;html:submit value=" 提 交 "&gt;<br />        &lt;/html:submit&gt;<br />      &lt;/html:form&gt; </p>
		<p>三、在body的onload事件中加载initEditor(): </p>
		<p>  如：&lt;body bgcolor="#ffffff" onload="initEditor()"&gt;</p>
		<p>四、注意点: </p>
		<p>1、editor = new HTMLArea("content");参数值是表单中textarea属性id;</p>
		<p>2、在body的onload事件中加载initEditor()；</p>
		<p>3、表单onsubmit事件调用this['content'].value=editor.getHTML()</p>
		<p>在使用的过程中发现,因为默认是英文语方,提示信息也是英文的, 这对于飞惯用中文的朋友来说很是不方便 ,如果要改变语言的话<br />   _editor_lang = "en";<br />把上边代码里的._editor_lang="gb"理论上就可以了, 这样,当代码去运行的时候会找/lang文件夹下的gb.js文件,但是作者发布这套源代码的时候jb.js里的中文是用iso8859-1编码的,我用MyEclipse的javascriptEdit查看器(MyEclipse下*.js的默认)打开的时候看到的全是乱码,这就导至了在jsp页面出现错误.解决的办法就是在改变gb.js的文件的属性, 将编码格式改为utf-8的格式. 然后再加上en.js下边的<br /> buttons: {<br />  "ok":           "确定",<br />  "cancel":       "取消"<br /> },</p>
		<p> msg: {<br />  "Path":         "路径",<br />  "TEXT_MODE":    "现在模式是文本模式.  按[&lt;&gt;]键切换到可视化编辑模式.",</p>
		<p>  "IE-sucks-full-screen" :<br />  // translate here<br />  "The full screen mode is known to cause problems with Internet Explorer, " +<br />  "due to browser bugs that we weren't able to workaround.  You might experience garbage " +<br />  "display, lack of editor functions and/or random browser crashes.  If your system is Windows 9x " +<br />  "it's very likely that you'll get a 'General Protection Fault' and need to reboot.\n\n" +<br />  "You have been warned.  Please press OK if you still want to try the full screen editor."<br /> },</p>
		<p> dialogs: {<br />  "Cancel"                                            : "Cancel",<br />  "Insert/Modify Link"                                : "Insert/Modify Link",<br />  "New window (_blank)"                               : "New window (_blank)",<br />  "None (use implicit)"                               : "None (use implicit)",<br />  "OK"                                                : "OK",<br />  "Other"                                             : "Other",<br />  "Same frame (_self)"                                : "Same frame (_self)",<br />  "Target:"                                           : "Target:",<br />  "Title (tooltip):"                                  : "Title (tooltip):",<br />  "Top frame (_top)"                                  : "Top frame (_top)",<br />  "URL:"                                              : "URL:",<br />  "You must enter the URL where this link points to"  : "You must enter the URL where this link points to"<br /> }</p>
		<p>这些代码.如果有需要的话, 可以把右边属性的值翻译成汉语,这里还有一个要注意的地方就是要对照格式,我把我改正过的贴到这里, 方便查看</p>
		<p>// I18N constants -- Chinese GB<br />// by Dave Lo -- <a href="mailto:dlo@interactivetools.com">dlo@interactivetools.com</a><br />HTMLArea.I18N = {</p>
		<p> // the following should be the filename without .js extension<br /> // it will be used for automatically load plugin language.<br /> lang: "gb",</p>
		<p> tooltips: {<br />  bold:           "粗体",<br />  italic:         "斜体",<br />  underline:      "底线",<br />  strikethrough:  "删除线",<br />  subscript:      "下标",<br />  superscript:    "上标",<br />  justifyleft:    "位置靠左",<br />  justifycenter:  "位置居中",<br />  justifyright:   "位置靠右",<br />  justifyfull:    "位置左右平等",<br />  orderedlist:    "位置左右平等",<br />  unorderedlist:  "无序清单",<br />  outdent:        "减小行前空白",<br />  indent:         "加宽行前空白",<br />  forecolor:      "文字颜色",<br />  backcolor:      "背景颜色",<br />  horizontalrule: "水平线",<br />  horizontalrule: "水平标尺",<br />  createlink:     "插入连结",<br />  insertimage:    "插入图形",<br />  inserttable:    "插入表格",<br />  htmlmode:       "切换HTML原始码",<br />  popupeditor:    "放大",<br />  about:          "关於 HTMLArea",<br />  help:           "说明",<br />  textindicator:  "字体例子"<br /> },</p>
		<p>
				<br /> buttons: {<br />  "ok":           "确定",<br />  "cancel":       "取消"<br /> },</p>
		<p> msg: {<br />  "Path":         "路径",<br />  "TEXT_MODE":    "现在模式是文本模式.  按[&lt;&gt;]键切换到可视化编辑模式.",</p>
		<p>  "IE-sucks-full-screen" :<br />  // translate here<br />  "The full screen mode is known to cause problems with Internet Explorer, " +<br />  "due to browser bugs that we weren't able to workaround.  You might experience garbage " +<br />  "display, lack of editor functions and/or random browser crashes.  If your system is Windows 9x " +<br />  "it's very likely that you'll get a 'General Protection Fault' and need to reboot.\n\n" +<br />  "You have been warned.  Please press OK if you still want to try the full screen editor."<br /> },</p>
		<p> dialogs: {<br />  "Cancel"                                            : "Cancel",<br />  "Insert/Modify Link"                                : "Insert/Modify Link",<br />  "New window (_blank)"                               : "New window (_blank)",<br />  "None (use implicit)"                               : "None (use implicit)",<br />  "OK"                                                : "OK",<br />  "Other"                                             : "Other",<br />  "Same frame (_self)"                                : "Same frame (_self)",<br />  "Target:"                                           : "Target:",<br />  "Title (tooltip):"                                  : "Title (tooltip):",<br />  "Top frame (_top)"                                  : "Top frame (_top)",<br />  "URL:"                                              : "URL:",<br />  "You must enter the URL where this link points to"  : "You must enter the URL where this link points to"<br /> }<br />};</p>
		<p>呵呵.文件改好了以后,就把这个文件复制到/plugins/下.(在plugins下有5个子文件夹,每个又文件夹下有一个lang文件夹,把gb.js文件放进去就OK了.)<br />然后启动,成功了...^_^</p>
		<p>
				<br />赵永超原创,转载请注明</p>
		<p> </p>
		<p>
				<br /> </p>
<img src ="http://www.blogjava.net/yc1354/aggbug/98583.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yc1354/" target="_blank">赵永超</a> 2007-02-07 13:47 <a href="http://www.blogjava.net/yc1354/archive/2007/02/07/98583.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用javascript实现页面跳转的几种方法</title><link>http://www.blogjava.net/yc1354/archive/2007/02/02/97589.html</link><dc:creator>赵永超</dc:creator><author>赵永超</author><pubDate>Fri, 02 Feb 2007 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/yc1354/archive/2007/02/02/97589.html</guid><wfw:comment>http://www.blogjava.net/yc1354/comments/97589.html</wfw:comment><comments>http://www.blogjava.net/yc1354/archive/2007/02/02/97589.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yc1354/comments/commentRss/97589.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yc1354/services/trackbacks/97589.html</trackback:ping><description><![CDATA[按钮式： 
<p>　　&lt;INPUT name="pclog" type="button" value="GO" onClick="location.href='url'"&gt; <br /><br />直接跳转式： </p><p>　　&lt;script&gt;window.location.href='url';&lt;/script&gt;<br /><br />&lt;SCRIPT LANGUAGE="javascript"&gt; <br />&lt;!-- <br />window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no') <br />//写成一行 <br />--&gt; <br />&lt;/SCRIPT&gt; <br /><br />参数解释： <br /><br /><br />&lt;SCRIPT LANGUAGE="javascript"&gt; js脚本开始； <br />window.open 弹出新窗口的命令； <br />'page.html' 弹出窗口的文件名； <br />'newwindow' 弹出窗口的名字（不是文件名），非必须，可用空''代替； <br />height=100 窗口高度； <br />width=400 窗口宽度； <br />top=0 窗口距离屏幕上方的象素值； <br />left=0 窗口距离屏幕左侧的象素值； <br />toolbar=no 是否显示工具栏，yes为显示； <br />menubar，scrollbars 表示菜单栏和滚动栏。 <br />resizable=no 是否允许改变窗口大小，yes为允许； <br />location=no 是否显示地址栏，yes为允许； <br />status=no 是否显示状态栏内的信息（通常是文件已经打开），yes为允许； <br />&lt;/SCRIPT&gt; js脚本结束 <br /><br />【3、用函数控制弹出窗口】 <br />下面是一个完整的代码。 <br />&lt;html&gt; <br />&lt;head&gt; <br />&lt;script LANGUAGE="JavaScript"&gt; <br />&lt;!-- <br />function openwin() { <br />window.open ("page.html", "newwindow", "height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") <br />//写成一行 <br />} <br />//--&gt; <br />&lt;/script&gt; <br />&lt;/head&gt; <br />&lt;body onload="openwin()"&gt; <br />...任意的页面内容... <br />&lt;/body&gt; <br />&lt;/html&gt; <br /><br />这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。 <br />怎么调用呢？ <br /><br /><br />方法一：&lt;body onload="openwin()"&gt; 浏览器读页面时弹出窗口； <br />方法二：&lt;body onunload="openwin()"&gt; 浏览器离开页面时弹出窗口； <br />方法三：用一个连接调用： <br />&lt;a href="#" onclick="openwin()"&gt;打开一个窗口&lt;/a&gt; <br />注意：使用的“#”是虚连接。 <br />方法四：用一个按钮调用： <br />&lt;input type="button" onclick="openwin()" value="打开窗口"&gt; <br /><br />【4、同时弹出2个窗口】 <br /><br /><br />对源代码稍微改动一下： <br />&lt;script LANGUAGE="JavaScript"&gt; <br />&lt;!-- <br />function openwin() { <br />window.open ("page.html", "newwindow", "height=100, width=100, top=0, left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") <br />//写成一行 <br />window.open ("page2.html", "newwindow2", "height=100, width=100, top=100, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") <br />//写成一行 <br />} <br />//--&gt; <br />&lt;/script&gt; <br /><br /><br />为避免弹出的2个窗口覆盖，用top和left控制一下弹出的位置不要相互覆盖即可。最后用上面说过的四种方法调用即可。 <br />注意：2个窗口的name(newwindows和newwindow2)不要相同，或者干脆全部为空。OK？ <br /><br />【5、主窗口打开文件1.htm，同时弹出小窗口page.html】 <br /><br />如下代码加入主窗口&lt;head&gt;区： <br /><br />&lt;script language="javascript"&gt; <br />&lt;!-- <br />function openwin() { <br />window.open("page.html","","width=200,height=200") <br />} <br />//--&gt; <br />&lt;/script&gt; <br />加入&lt;body&gt;区： <br />&lt;a href="/blog/1.htm" onclick="openwin()"&gt;open&lt;/a&gt;即可。 <br /><br />【6、弹出的窗口之定时关闭控制】 <br /><br />下面我们再对弹出的窗口进行一些控制，效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的HTML中，可不是主页面中，否则...)，让它10秒后自动关闭是不是更酷了？ <br /><br /><br />首先，将如下代码加入page.html文件的&lt;head&gt;区： <br />&lt;script language="JavaScript"&gt; <br /><br />function closeit() { <br /><br />setTimeout("self.close()",10000) //毫秒 <br /><br />} <br /><br />&lt;/script&gt; <br />然后，再用&lt;body onload="closeit()"&gt; 这一句话代替page.html中原有的&lt;BODY&gt;这一句就可以了。(这一句话千万不要忘记写啊！这一句的作用是调用关闭窗口的代码，10秒钟后就自行关闭该窗口。) <br /><br />【7、在弹出窗口中加上一个关闭按钮】 <br />&lt;FORM&gt; <br />&lt;INPUT TYPE='BUTTON' VALUE='关闭' onClick='window.close()'&gt; <br />&lt;/FORM&gt; <br />呵呵，现在更加完美了！ <br /><br />【8、内包含的弹出窗口-一个页面两个窗口】 <br /><br />上面的例子都包含两个窗口，一个是主窗口，另一个是弹出的小窗口。 <br />通过下面的例子，你可以在一个页面内完成上面的效果。 <br /><br />&lt;html&gt; <br />&lt;head&gt; <br />&lt;SCRIPT LANGUAGE="JavaScript"&gt; <br />function openwin() <br />{ <br />OpenWindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no"); <br />//写成一行 <br />OpenWindow.document.write("&lt;TITLE&gt;例子&lt;/TITLE&gt;") <br />OpenWindow.document.write("&lt;BODY BGCOLOR=#ffffff&gt;") <br />OpenWindow.document.write("&lt;h1&gt;Hello!&lt;/h1&gt;") <br />OpenWindow.document.write("New window opened!") <br />OpenWindow.document.write("&lt;/BODY&gt;") <br />OpenWindow.document.write("&lt;/HTML&gt;") <br />OpenWindow.document.close() <br />} <br />&lt;/SCRIPT&gt; <br />&lt;/head&gt; <br />&lt;body&gt; <br />&lt;a href="#" onclick="openwin()"&gt;打开一个窗口&lt;/a&gt; <br />&lt;input type="button" onclick="openwin()" value="打开窗口"&gt; <br />&lt;/body&gt; <br />&lt;/html&gt; <br /><br />看看 OpenWindow.document.write()里面的代码不就是标准的HTML吗？只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用OpenWindow.document.close()结束啊。 <br /><br /><br />【9、终极应用--弹出的窗口之Cookie控制】 <br /><br />回想一下，上面的弹出窗口虽然酷，但是有一点小毛病(沉浸在喜悦之中，一定没有发现吧？)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页)，那么每次刷新这个页面，窗口都会弹出一次，是不是非常烦人？:-( <br />有解决的办法吗？Yes! ;-) Follow me. <br />我们使用cookie来控制一下就可以了。 <br />首先，将如下代码加入主页面HTML的&lt;HEAD&gt;区： <br /><br />&lt;script&gt; <br />function openwin(){ <br />window.open("page.html","","width=200,height=200") <br />} <br />function get_cookie(Name) { <br />var search = Name + "=" <br />var returnvalue = ""; <br />if (document.cookie.length &gt; 0) { <br />offset = document.cookie.indexOf(search) <br />if (offset != -1) { <br />offset += search.length <br />end = document.cookie.indexOf(";", offset); <br />if (end == -1) <br />end = document.cookie.length; <br />returnvalue="/blog/unescape(document.cookie.substring(offset," end)) <br />} <br />} <br />return returnvalue; <br />} <br /><br />function loadpopup(){ <br />if (get_cookie('popped')==''){ <br />openwin() <br />document.cookie="popped=yes" <br />} <br />} <br /><br />&lt;/script&gt; <br /><br />然后，用&lt;body onload="loadpopup()"&gt;（注意不是openwin而是loadpop啊！）替换主页面中原有的&lt;BODY&gt;这一句即可。你可以试着刷新一下这个页面或重新进入该页面，窗口再也不会弹出了。真正的Pop-Only-Once！<br /></p><img src ="http://www.blogjava.net/yc1354/aggbug/97589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yc1354/" target="_blank">赵永超</a> 2007-02-02 17:18 <a href="http://www.blogjava.net/yc1354/archive/2007/02/02/97589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>