因?yàn)橹且欢蝚avascripts代碼,所以它們應(yīng)該放在<SCRIPT LANGUAGE="javascript">標(biāo)簽和</script>之間。<!-- 和 -->是對(duì)一些版本低的瀏覽器起作用,在這些老瀏覽器中不會(huì)將標(biāo)簽中的代碼作為文本顯示出來(lái)。要養(yǎng)成這個(gè)好習(xí)慣啊。window.open ('page.html') 用于控制彈出新的窗口page.html,如果page.html不與主窗口在同一路徑下,前面應(yīng)寫(xiě)明路徑,絕對(duì)路徑(http://)和相對(duì)路徑(../)均可。用單引號(hào)和雙引號(hào)都可以,只是不要混用。這一段代碼可以加入HTML的任意位置,<head>和</head>之間可以,<body>間</body>也可以,越前越早執(zhí)行,尤其是頁(yè)面代碼長(zhǎng),又想使頁(yè)面早點(diǎn)彈出就盡量往前放。
【2、經(jīng)過(guò)設(shè)置后的彈出窗口】
下面再說(shuō)一說(shuō)彈出窗口的設(shè)置。只要再往上面的代碼中加一點(diǎn)東西就可以了。 我們來(lái)定制這個(gè)彈出的窗口的外觀,尺寸大小,彈出的位置以適應(yīng)該頁(yè)面的具體情況。
參數(shù)解釋?zhuān)?nbsp;
【3、用函數(shù)控制彈出窗口】
這里定義了一個(gè)函數(shù)openwin(),函數(shù)內(nèi)容就是打開(kāi)一個(gè)窗口。在調(diào)用它之前沒(méi)有任何用途。怎么調(diào)用呢?
【4、同時(shí)彈出2個(gè)窗口】
對(duì)源代碼稍微改動(dòng)一下:
【5、主窗口打開(kāi)文件1.htm,同時(shí)彈出小窗口page.html】
【6、彈出的窗口之定時(shí)關(guān)閉控制】
下面我們?cè)賹?duì)彈出的窗口進(jìn)行一些控制,效果就更好了。如果我們?cè)賹⒁恍《?nbsp; 代碼加入彈出的頁(yè)面(注意是加入page.html的HTML中,可不是主頁(yè)面中,否則 ...),讓它10秒后自動(dòng)關(guān)閉是不是更酷了?
首先,將如下代碼加入page.html文件的<head>區(qū):
【7、在彈出窗口中加上一個(gè)關(guān)閉按鈕】
【8、內(nèi)包含的彈出窗口-一個(gè)頁(yè)面兩個(gè)窗口】
【9、終極應(yīng)用--彈出的窗口之Cookie控制】
回想一下,上面的彈出窗口雖然酷,但是有一點(diǎn)小毛病(沉浸在喜悅之中,一定 沒(méi)有發(fā)現(xiàn)吧?)比如你將上面的腳本放在一個(gè)需要頻繁經(jīng)過(guò)的頁(yè)面里(例如首頁(yè)),那么每次刷新這個(gè)頁(yè)面,窗口都會(huì)彈出一次,是不是非常煩人?:-(
有解決的辦法嗎?Yes! ;-) Follow me.我們使用cookie來(lái)控制一下就可以了。
首先,將如下代碼加入主頁(yè)面HTML的<HEAD>區(qū):
javascript強(qiáng)制彈出新窗口實(shí)現(xiàn)代碼
<script type="text/javascript">
function openNew(url)
{
var NewInf= document.createElement('a');
NewInf.setAttribute('href',url);
NewInf.setAttribute('target','_blank');
document.body.appendChild(NewInf);
NewInf.click();
document.body.removeChild(NewInf);
}
</script>
<input type="button" onclick="openNew('http://www.jb51.net/');"/>
讓javascript彈出窗口居前顯示的實(shí)現(xiàn)方法
一般來(lái)說(shuō),顯示在最前面的窗口都是因?yàn)榇翱诒患せ瞰@得焦點(diǎn),要使窗口永遠(yuǎn)顯示在最前面,可以人為的設(shè)置窗口在blur時(shí)立刻focus,或者用模式、無(wú)模式對(duì)話框?qū)崿F(xiàn)
具體步驟:
方法一:彈出窗口<body>里加上代碼:onblur="self.focus()":
<body onblur="self.focus()">
方法二:用showModalDialog方法建立模式對(duì)話框,它的參數(shù)說(shuō)明如表1.5.2所示。
<script>
function topwin(){
window.showModalDialog(http://www.jb1.net,"","dialogWidth:300px;dialogHeight:300px;scroll:no;status:no")
}
</script>
<button onClick="topwin()">打開(kāi)模式窗口</button>
方法三:用showModelessDialog方法建立無(wú)模式對(duì)話框,它的參數(shù)跟模式對(duì)話框完全一樣,可以參考表1.5.2。
<script>
function topwin(){
window.showModelessDialog("http://www.jb51.net","","dialogWidth:300px;dialogHeight:300px;scroll:no;status:no")
}
</script>
<button onClick="topwin()">打開(kāi)無(wú)模式窗口</button>
注意:模式對(duì)話框會(huì)始終保持焦點(diǎn)。除非關(guān)閉對(duì)話框,否則無(wú)法切換窗口。 無(wú)模式對(duì)話框不會(huì)始終保持焦點(diǎn),但始終保持顯示在最前端。
特別說(shuō)明
本例主要是模式對(duì)話框和無(wú)模式對(duì)話框的應(yīng)用,必須注意兩種對(duì)話框的異同。
表1.5.2 showModalDialog方法的參數(shù)列表
參數(shù)取值說(shuō)明
sURL必選項(xiàng)。字符串(String)。指定要載入和顯示的 URL。
vArguments可選項(xiàng)。字符串(String)。指定供顯示文檔時(shí)使用的變量。利用這個(gè)參數(shù)可以傳遞任何類(lèi)型的值,包括包含多個(gè)值得的數(shù)組。對(duì)話框可以通過(guò)調(diào)用程序從 window 對(duì)象的 dialogArguments 屬性提取這些值。
sFeatures可選項(xiàng)。字符串(String)。指定對(duì)話框的窗口裝飾。使用下面的值。多個(gè)之間用分號(hào)隔開(kāi)。
dialogHeight : sHeight設(shè)置對(duì)話框的高度
dialogLeft : sXPos設(shè)置對(duì)話框左上角相對(duì)于桌面的橫坐標(biāo)。
dialogTop : sYPos設(shè)置對(duì)話框左上角相對(duì)于桌面的縱坐標(biāo)。
dialogWidth : sWidth設(shè)置對(duì)話框的寬度。
center : yes | no | 1 | 0 | on | off指定對(duì)話框是否顯示于桌面正中。默認(rèn)值為 yes 。
dialogHide : yes | no| 1 | 0 | on | off指定當(dāng)打印或打印預(yù)覽時(shí)對(duì)話框是否隱藏。僅僅當(dāng)對(duì)話框是由被信任的程式打開(kāi)的時(shí)候此參數(shù)才可用。默認(rèn)值為 no 。
edge : sunken | raised指定對(duì)話框窗口邊框樣式為凹下還是凸起的。默認(rèn)值為 raised 。
help : yes | no | 1 | 0 | on | off指定對(duì)話框是否顯示上下文相關(guān)的幫助圖標(biāo)。默認(rèn)值為 yes 。
resizable : yes | no | 1 | 0 | on | off指定對(duì)話框是否可以被用戶(hù)改變尺寸。默認(rèn)值為 no 。
scroll : yes | no | 1 | 0 | on | off指定對(duì)話框是否顯示滾動(dòng)條。默認(rèn)值為 yes 。
status : yes | no | 1 | 0 | on | off指定對(duì)話框是否顯示狀態(tài)條。對(duì)于不被信任的對(duì)話框默認(rèn)值為 yes 。對(duì)于被信任的對(duì)話框默認(rèn)值為 no 。
unadorned : yes | no | 1 | 0 | on | off指定對(duì)話框是否顯示 chrome 樣式邊框。僅僅當(dāng)對(duì)話框是由被信任的程式打開(kāi)的時(shí)候此參數(shù)才可用。默認(rèn)值為 no 。
更多建議: