javascript
Web最基本的弹出窗口代码(javascript)
?
【1、最基本的彈出窗口代碼】
其實代碼非常簡單:
?
<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html')
-->
</SCRIPT>
?
因為這是一段javascripts代碼,所以它們應(yīng)該放在<SCRIPT LANGUAGE="javascript">標(biāo)簽和</script>之間。<!-- 和 -->是對一些版本低的瀏覽器起作用,在這些老瀏覽器中不會將標(biāo)簽中的代碼作為文本顯示出來。要養(yǎng)成這個好習(xí)慣啊。
window.open ('page.html') 用于控制彈出新的窗口page.html,如果page.html不與主窗口在同一路徑下,前面應(yīng)寫明路徑,絕對路徑(http ://)和相對路徑(../)均可。
用單引號和雙引號都可以,只是不要混用。
這一段代碼可以加入HTML的任意位置,<head>和</head>之間可以,<body& gt;間</body>也可以,越前越早執(zhí)行,尤其是頁面代碼長,又想使頁面早點彈出就盡量往前放。
?
【2、經(jīng)過設(shè)置后的彈出窗口】
下面再說一說彈出窗口的設(shè)置。只要再往上面的代碼中加一點東西就可以了。我們來定制這個彈出的窗口的外觀,尺寸大小,彈出的位 置以適應(yīng)該頁面的具體情況。
?
<SCRIPT LANGUAGE="javascript">
<!--
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')
//寫成一行
-->
</SCRIPT>
?
參數(shù)解釋:
?
<SCRIPT LANGUAGE="javascript"> js腳本開始;
window.open 彈出新窗口的命令;
'page.html' 彈出窗口的文件名;
'newwindow' 彈出窗口的名字(不是文件名),非必須,可用空''代替;
height=100 窗口高度;
width=400 窗口寬度;
top=0 窗口距離屏幕上方的象素值;
left=0 窗口距離屏幕左側(cè)的象素值;
toolbar=no 是否顯示工具欄,yes為顯示;
menubar,scrollbars 表示菜單欄和滾動欄。
resizable=no 是否允許改變窗口大小,yes為允許;
location=no 是否顯示地址欄,yes為允許;
status=no 是否顯示狀態(tài)欄內(nèi)的信息(通常是文件已經(jīng)打開),yes為允許;
</SCRIPT> js腳本結(jié)束
?
【3、用函數(shù)控制彈出窗口】
下面是一個完整的代碼。
<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")
//寫成一行
}
//-->
</script>
</head>
<body οnlοad="openwin()">
...任意的頁面內(nèi)容...
</body>
</html>
?
這里定義了一個函數(shù)openwin(),函數(shù)內(nèi)容就是打開一個窗口。在調(diào)用它之前沒有任何用途。
怎么調(diào)用呢?
?
方法一:<body οnlοad="openwin()"> 瀏覽器讀頁面時彈出窗口;
方法二:<body οnunlοad="openwin()"> 瀏覽器離開頁面時彈出窗口;
方法三:用一個連接調(diào)用:
<a href="#" οnclick="openwin()">打開一個窗口</a>
注意:使用的“#”是虛連接。
方法四:用一個按鈕調(diào)用:
<input type="button" οnclick="openwin()" value="打開窗口">
?
【4、同時彈出2個窗口】
?
對源代碼稍微改動一下:
<script LANGUAGE="JavaScript">
<!--
function openwin() {
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")
//寫成一行
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")
//寫成一行
}
//-->
</script>
?
為避免彈出的2個窗口覆蓋,用top和left控制一下彈出的位置不要相互覆蓋即可。最后用上面說過的四種方法調(diào)用即可。
注意:2個窗口的name(newwindows和newwindow2)不要相同,或者干脆全部為空。OK?
?
【5、主窗口打開文件1.htm,同時彈出小窗口page.html】
?
如下代碼加入主窗口<head>區(qū):
?
<script language="javascript">
<!--
function openwin() {
window.open("page.html","","width=200,height=200")
}
//-->
</script>
加入<body>區(qū):
<a href="1.htm" οnclick="openwin()">open</a>即可。
?
【6、彈出的窗口之定時關(guān)閉控制】
?
下面我們再對彈出的窗口進(jìn)行一些控制,效果就更好了。如果我們再將一小段代碼加入彈出的頁面(注意是加入到page.html 的HTML中,可不是主頁面中,否則...),讓它10秒后自動關(guān)閉是不是更酷了?
?
首先,將如下代碼加入page.html文件的<head>區(qū):
<script language="JavaScript">
?
function closeit() {
?
setTimeout("self.close()",10000) //毫秒
?
}
?
</script>
然后,再用<body οnlοad="closeit()"> 這一句話代替page.html中原有的<BODY>這一句就可以了。(這一句話千萬不要忘記寫啊!這一句的作用是 調(diào)用關(guān)閉窗口的代碼,10秒鐘后就自行關(guān)閉該窗口。)
?
【7、在彈出窗口中加上一個關(guān)閉按鈕】
<FORM>
<INPUT TYPE='BUTTON' VALUE='關(guān)閉' onClick='window.close()'>
</FORM>
呵呵,現(xiàn)在更加完美了!
?
【8、內(nèi)包含的彈出窗口-一個頁面兩個窗口】
?
上面的例子都包含兩個窗口,一個是主窗口,另一個是彈出的小窗口。
通過下面的例子,你可以在一個頁面內(nèi)完成上面的效果。
?
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
function openwin()
{
OpenWindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no");
//寫成一行
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="#" οnclick="openwin()">打開一個窗口</a>
<input type="button" οnclick="openwin()" value="打開窗口">
</body>
</html>
?
看看 OpenWindow.document.write()里面的代碼不就是標(biāo)準(zhǔn)的HTML嗎?只要按照格式寫更多的行即可。千萬 注意多一個標(biāo)簽或少一個標(biāo)簽就會出現(xiàn)錯誤。記得用OpenWindow.document.close()結(jié)束啊。
?
【9、終極應(yīng)用--彈出的窗口之Cookie控制】
?
回想一下,上面的彈出窗口雖然酷,但是有一點小毛病(沉浸在喜悅之中,一定沒有發(fā)現(xiàn)吧?)比如你將上面的腳本放在一個需要頻繁 經(jīng)過的頁面里(例如首頁),那么每次刷新這個頁面,窗口都會彈出一次,是不是非常煩人?:-(
有解決的辦法嗎?Yes! ;-) Follow me.
我們使用cookie來控制一下就可以了。
首先,將如下代碼加入主頁面HTML的<HEAD>區(qū):
?
<script>
function openwin(){
window.open("page.html","","width=200,height=200")
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
?
function loadpopup(){
if (get_cookie('popped')==''){
openwin()
document.cookie="popped=yes"
}
}
?
</script>
?
然后,用<body οnlοad="loadpopup()">(注意不是openwin而是loadpop啊!)替換主頁面中原有的< ;BODY>這一句即可。你可以試著刷新一下這個頁面或重新進(jìn)入該頁面,窗口再也不會彈出了。真正的Pop-Only-O nce!
?
flash窗口
一、打開一個自定義寸的新窗
?
我們先用flash制作一個Button,然后按F9打開Action-Frame面板。點擊“+”按鈕, 選擇Action>>Browser/Network>>GetURL
[$nbsp]
在URL的輸入框里,輸入如下AS(如圖):
JavaScript:CGerCN_Window('cgercn.html','NewWindow','status=no,scrollbars=no,resizable=no,width=440,height=520'
?
發(fā)布網(wǎng)頁:完成剛才操作后,我們再按快捷鍵Shift+F12將網(wǎng)頁發(fā)布出來,這時,我們操作還沒有完成,我們要加一段JAVA函數(shù),讓Flash調(diào)用
?
我用Dreamweaver打開剛才發(fā)布出來的HTML文件,點擊按鈕,切換到代碼(show code)的編輯模式。在<head>上部分加上如下javescript代碼:
<script language="JavaScript">
<!--
function CGerCN_Window(theURL,winName,features) { //v2.0
[$nbsp] window.open(theURL,winName,features);
}
//-->
</script>
?
?
二、打開主頁,就讓Flash全屏播放
?
?
分析:做這種效果,先首要有兩個網(wǎng)頁,一個是真的主頁,也就是全屏后我們所看到內(nèi)容(我將之取名為:fullscreen)一個是完成全屏功能的頁面(我們先將之取名為:openwindws)。我們所要做的就是,在openwindws里上一段代碼,當(dāng)完全打開時,它會自動全屏打開fullscreen這個文件,而它自已會自動關(guān)閉
3)方法,我們先用DW新建一個網(wǎng)頁,在網(wǎng)頁的<head>部分加入如下代碼:
<script language="JavaScript">
<!--
function Open(page) {
OpenWin = this.open(page, "MainWindow", "fullscreen=yes,type=fullWindow,scrollbars=no,directories=no,status=no,menubar=no");
}
//-->
</script>
?
//----------這部分是定義打開全屏窗口的必要代碼
?
<object id="closes" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<param name="Command" value="Close">
</object>
?
//----------這部分是用來強(qiáng)制關(guān)閉IE的ActiveX程序代碼,沒有用Jave是因為,如果你用java來自動關(guān)閉窗口,會彈出確認(rèn)對話框
?
在<body>部分加入如下代碼:
<body onLoad="closes.Click();Open('fullscreen.html');">
?
//----------這部分代碼,是讓網(wǎng)頁(openwindws)一下載(onload)完畢,就自動打開全屏窗口(fullscreen)
?
4)這時打開的全屏窗口,是法關(guān)閉的,只能用Alt+F4強(qiáng)制退出,如果這樣的話,訪問者會對你網(wǎng)站的映象大打折扣,這當(dāng)然是我們所不希望,所以,為了更體貼一點,我們還要用flash做一個半閉的button。并button上加上這段AS:
?
on (release) {
getURL("JavaScript:window.close()");
}
?
?
三、無邊框窗口
?
方法
這種效果,與Flash幾乎是沒有關(guān)系的,全部是jave在后臺完成,但如果與flash配合作用,會達(dá)到不錯的效果
它的代碼與全屏不多
將這段代碼入到<head>部分:
<script language="JavaScript">
<!--
function NewWin()
{
neo=window.open('cgercn.htm','Chromeless','fullscreen=1');
//----要實現(xiàn)無邊框flash文件的相對路徑,也可以是網(wǎng)址
neo.resizeTo(440,500);
//-------無邊框窗口的尺寸
(閱讀次數(shù):)?
總結(jié)
以上是生活随笔為你收集整理的Web最基本的弹出窗口代码(javascript)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS开发笔记[16/50]:Views
- 下一篇: .NET服务器应用程序开发