<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>散人笔记 &#187; 弹出窗口</title>
	<atom:link href="http://www.uideas.cn/post/tag/%e5%bc%b9%e5%87%ba%e7%aa%97%e5%8f%a3/feed" rel="self" type="application/rss+xml" />
	<link>http://www.uideas.cn</link>
	<description>生活来源于创意,所以我懂生活</description>
	<lastBuildDate>Sun, 22 Aug 2010 07:17:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>javascript弹出窗口代码大全[转]</title>
		<link>http://www.uideas.cn/post/186.html</link>
		<comments>http://www.uideas.cn/post/186.html#comments</comments>
		<pubDate>Wed, 02 Dec 2009 04:57:50 +0000</pubDate>
		<dc:creator>kos</dc:creator>
				<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[弹出窗口]]></category>

		<guid isPermaLink="false">http://www.uideas.cn/?p=186</guid>
		<description><![CDATA[　　如何利用网页弹出各种形式的窗口，我想大家大多都是知道些的，但那种多种多样的弹出式窗口是怎么搞出来的，我们今天就来学习一下：
　　1.弹启一个全屏窗口……]]></description>
			<content:encoded><![CDATA[<p>　　如何利用网页弹出各种形式的窗口，我想大家大多都是知道些的，但那种多种多样的弹出式窗口是怎么搞出来的，我们今天就来学习一下：<br />
　　1.弹启一个全屏窗口<br />
<code><br />
&lt;html&gt;<br />
&lt;body onload="window.open('http://www.kunde58.com','example01','fullscreen');"&gt;;<br />
&lt;b&gt;www.kunde58.com&lt;/b&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
<p>　　2.弹启一个被F11化后的窗口<br />
<code><br />
&lt;html&gt;<br />
&lt;body onload="window.open(''http://www.kunde58.com','example02','channelmode');"&gt;;<br />
&lt;b&gt;www.kunde58.com&lt;/b&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code><br />
　　3.弹启一个带有收藏链接工具栏的窗口<br />
<code><br />
&lt;html&gt;<br />
&lt;body onload="window.open('www.wangye8.com','example03','width=400,height=300,directories');"&gt;<br />
&lt;b&gt;www.wangye8.com&lt;/b&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code><br />
　　4.网页对话框<br />
<code><br />
&lt;html&gt;<br />
&lt;SCRIPT LANGUAGE="javascript"&gt;<br />
&lt;!--<br />
showModalDialog('http://www.kunde58.com,'example04','dialogWidth:400px;dialogHeight:300px;<br />
dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes')<br />
//--&gt;<br />
&lt;/SCRIPT&gt;<br />
&lt;b&gt;www.wangye8.com&lt;/b&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>&lt;html&gt;<br />
&lt;SCRIPT LANGUAGE="javascript"&gt;<br />
&lt;!--<br />
showModelessDialog('http://www.kunde58.com,'example05','dialogWidth:400px;dialogHeight:300px;<br />
dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes')<br />
//--&gt;<br />
&lt;/SCRIPT&gt;<br />
&lt;b&gt;http://www.wangye8.com&lt;/b&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code><br />
　　showModalDialog()或是showModelessDialog() 来调用网页对话框，至于showModalDialog()与showModelessDialog()的区别，在于showModalDialog()打开的窗口（简称模式窗口），置在父窗口上，必须关闭才能访问父窗口(建议尽量少用，以免招人反感)；showModelessDialog()</p>
<p>dialogHeight: iHeight 设置对话框窗口的高度。<br />
dialogWidth: iWidth 设置对话框窗口的宽度。 　　<br />
dialogLeft: iXPos 设置对话框窗口相对于桌面左上角的left位置。<br />
dialogTop: iYPos 设置对话框窗口相对于桌面左上角的top位置。<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 } 指定对话框窗口是否显示状态栏。对于非模式对话框窗口，默认值是“yes”；对于模式对话框窗口，默认值是 “no”。</p>
<p>5、其他弹出窗口代码</p>
<p>经常上网的朋友可能到过这样一些网站，一进入首页立刻会弹出一个窗口，或者按一个链接或按钮弹出，通常在这个窗口里会显示一些注意事项、版权信息、警告、欢迎光顾之类的话或者作者想要特别提示的信息。其实制作这样的页面非常容易，只要往该页面的HTML里加入几段java script代码即可实现。下面我就带你剖析它的奥秘。</p>
<p>【最基本的弹出窗口代码】<br />
其实代码非常简单：<br />
<code><br />
&lt;SCRIPT LANGUAGE="java script"&gt;<br />
&lt;!--<br />
window.open (’page.html’)<br />
--&gt;<br />
&lt;/SCRIPT&gt;<br />
</code><br />
因为这是一段java script代码，所以它们应该放在&lt;SCRIPT LANGUAGE =&#8221;java script&#8221;&gt;标签和&lt;/script&gt;之间。&lt;!&#8211;和&#8211;&gt;是对一些版本低的浏览器起作用，在这些老浏览器中如果不支持java script，不会将标签中的代码作为文本显示出来。<br />
<code>Window.open (’page.html’)</code>用于控制弹出新的窗口page.html，如果page.html不与主窗口在同一路径下，前面应写明路径，绝对路径(http://)和相对路径(../)均可。</p>
<p> </p>
<p>用单引号和双引号都可以，只是不要混用。<br />
这一段代码可以加入HTML的任意位置，加入到&lt;head&gt;和&lt;/head&gt;之间也可以，位置越靠前执行越早，尤其是页面代码较长时，又想使页面早点弹出就尽量往前放。</p>
<p>【经过设置后的弹出窗口】<br />
下面再说一说弹出窗口外观的设置。只要再往上面的代码中加一点东西就可以了。<br />
我们来定制这个弹出窗口的外观、尺寸大小、弹出位置以适应该页面的具体情况。<br />
<code><br />
&lt;SCRIPT LANGUAGE="java script:&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,<br />
location=no,status=no’)<br />
//写成一行<br />
--&gt;<br />
&lt;/SCRIPT&gt;<br />
</code><br />
参数解释：<br />
<code><br />
&lt;SCRIPT LANGUAGE="java script"&gt; js脚本开始；<br />
window.open 弹出新窗口的命令；<br />
page.html 弹出新窗口的文件名；<br />
newwindow 弹出窗口的名字（不是文件名），可用空 ″代替；<br />
height=100 窗口高度；<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 />
</code><br />
【用函数控制弹出窗口】<br />
下面是一个完整的代码。<br />
<code><br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;script LANGUAGE="java script"&gt;<br />
&lt;!--<br />
function openwin(){<br />
window.open("page.html","newwindow","height=100,width=400,toolbar=no,menubar=no,scrollbars=no,<br />
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 />
这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。怎么调用呢？<br />
方法一：&lt;body onload="openwen()"&gt; 浏览器读页面时弹出窗口；<br />
方法二：&lt;body onunload="openwen()"&gt; 浏览器离开页面时弹出窗口；<br />
方法三：用一个连接调用：&lt;a href="#" onclick="openwin()"&gt;打开一个窗口&lt;/a&gt;<br />
注意：使用的"#"是虚连接。<br />
方法四：用一个按钮调用：&lt;input type="button" onclick="openwin()" value="打开窗口"&gt;</p>
<p>【主窗口打开文件1.htm，同时弹出小窗口page.html】<br />
将如下代码加入主窗口&lt;head&gt;区：<br />
&lt;script language="java script"&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;区：&lt;a href="1.htm" onclick="openwin()"&gt;open&lt;/a&gt;即可。</p>
<p>【弹出的窗口之定时关闭控制】<br />
下面我们再对弹出窗口进行一些控制，效果就更好了。如果我们再将一小段代码加入弹出的页面（注意是加入到page.html的HTML中，可不是主页面中，否则…），让它在10秒钟后自动关闭是不是更酷了？<br />
首先，将如下代码加入page.html文件的&lt;head&gt;区：<br />
&lt;script language="java script"&gt;<br />
function closeit() {<br />
setTimeout("self.close()",10000) //毫秒<br />
}<br />
&lt;/script&gt;<br />
然后，再用&lt;body onload="closeit()"&gt;这一句话代替page.html中原有的&lt;BODY&gt;这一句就可以了。（这一句话千万不要忘记写啊！这一句的作用是调用关闭窗口的代码，10秒钟后就自行关闭该窗口。）</p>
<p>【在弹出窗口中加上一个关闭按钮】<br />
&lt;form&gt;<br />
&lt;INPUT TYPE=’BUTTON’ value=’关闭’ onClick=’window.close()’&gt;<br />
&lt;/form&gt;<br />
呵呵，现在更加完美了！<br />
内包含的弹出窗口——一个页面两个窗口】<br />
上面的例子都包含两个窗口，一个是主窗口，另一个是弹出的小窗口。<br />
通过下面的例子，你可以在一个页面内完成上面的效果。<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;SCRIPT LANGUAGE="java script"&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 />
看看OpenWindow.document.write()里面的代码不就是标准的HTML吗？只要按照格式写更多的行即可。千万注意多一个标签或少一个标签都会出现错误。记住用OpenWindow.document.close()结束啊。</p>
<p>【终极应用——弹出窗口的Cookie控制】<br />
回想一下，上面的弹出窗口虽然酷，但是有一点小毛病（你沉浸在喜悦之中，一定没有发现吧？）比如你将上面的脚本放在一个需要频繁经过的页面里（例如首页），那么每次刷新这个页面，窗口都会弹出一次，是不是非常烦人？有解决的办法吗？Yes!Follow me。我们使用Cookie来控制一下就可以了。<br />
首先，将如下代码加入主页面HTML的&lt;HEAD&gt;区：</p>
<p>&lt;script&gt;<br />
function openpopup(){<br />
window.open("hello.htm","","width=300,height=300") //自己修改弹出窗口<br />
}</p>
<p>function get_cookie(Name) {<br />
var search = Name + "="<br />
var returnvalue = "";<br />
if (documents.cookie.length &gt; 0) {<br />
offset = documents.cookie.indexOf(search)<br />
if (offset != -1) { // if cookie exists<br />
offset += search.length<br />
// set index of beginning of value<br />
end = documents.cookie.indexOf(";", offset);<br />
// set index of end of cookie value<br />
if (end == -1)<br />
end = documents.cookie.length;<br />
returnvalue=unescape(documents.cookie.substring(offset, end))<br />
}<br />
}<br />
return returnvalue;<br />
}</p>
<p>function loadpopup(){<br />
if (get_cookie('popped')==''){<br />
openpopup()<br />
documents.cookie="popped=yes"<br />
}<br />
}</p>
<p>&lt;/script&gt;<br />
&lt;/head&gt;</p>
<p>将如下代码键入BODY区：<br />
&lt;body onunload="loadpopup()"&gt; //pop when leave page<br />
或者：<br />
&lt;body onload="loadpopup()"&gt; //pop when enter page</p>
<p>你可以试着刷新一下这个页面或重新进入该页面，窗口再也不会弹出了。真正的Pop-Only-Once!<br />
写到这里，弹出窗口的制作和应用技巧基本上算是讲完了，希望对正在制作网页的朋友有所帮助我就非常欣慰了。<br />
需要注意的是，JS脚本中的大小写最好前后保持一致。</p>
<p>没有菜单、工具栏、地址栏的弹出窗口：</p>
<p>&lt;script language="java script"&gt;<br />
&lt;!--<br />
var gt = unescape(’%3e’);<br />
var popup = null;<br />
var over = "Launch Pop-up Navigator";<br />
popup = window.open(’’, ’popupnav’, ’width=500,height=500,resizable=0,scrollbars=auto’); // width=500,height=500为窗口长和宽<br />
if (popup != null) {<br />
if (popup.opener == null) {<br />
popup.opener = self; }<br />
popup.location.href = ’要打开的文件名’;<br />
}<br />
// --&gt;<br />
&lt;/script&gt;<br />
方法二:Cookies应用：控制弹出窗口 当我们在一个页面中设置一个POP弹出窗口后，每次只要重新浏览该页面，POP窗口就会自动弹出来，造成不必要的麻烦。那么怎么解决这个问题呢？ 我在这里用一个简单的例子讲解一下如何通过操作Cookies让弹出窗口只在第一次浏览该页面时弹出，以后就不再招人烦了！</p>
<p>&lt;script&gt; function openpopwindow() { window.open("hello.htm","","width=200,height=200" //自己修改弹出窗口 } function get_cookie(Name) { var search = Name + "="; var returnvalue = ""; if (documents.cookie.length &gt; 0) { offset = documents.cookie.indexOf(search); if (offset != -1) { // 如果以前有cookies记录 offset += search.length; // 设置cookie的起始位置 end = documents.cookie.indexOf(";", offset); // 设置cookie的结束位置 if (end == -1) end = documents.cookie.length; returnvalue=unescape(documents.cookie.substring(offset, end)) } } return returnvalue; } function loadpopup() { if (get_cookie('popped')=='') { openpopwindow(); documents.cookie="popped=yes"; } } &lt;/script&gt;</p>
<p>将上面的代码键入BODY区： &lt;body onunload="loadpopup()"&gt; //离开页面的时候弹出<br />
或者： &lt;body onload="loadpopup()"&gt; //打开页面的时候弹出<br />
【本文版权归作者与奥索网共同拥有，如需转载，请注明作者及出处】</p>
<p>离开页面时弹开窗口效果:</p>
<p>效果：别人关闭这个页面的时候，弹出一个窗口，你可以写一些祝福的话<br />
核心代码：<br />
&lt;script LANGUAGE="javascript"&gt;<br />
&lt;!--Begin function leave(){<br />
window.open<br />
('1.htm',",'toolbar=no,menubar=no,location=no,height=225,width=235');<br />
break<br />
}<br />
//END--&gt;<br />
&lt;/script&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uideas.cn/post/186.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
