原文地址:http://duqiangcise.iteye.com/blog/288430
JSP 快顯視窗 一、window.open() 基礎知識
1、window.open()支援環境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+
2、基本文法:window.open(pageURL,name,parameters)
其中:
pageURL 為子視窗路徑
name 為子視窗控制代碼
parameters 為視窗參數(各參數用逗號分隔)
3、簡單樣本:
<script language="javascript" type="text/javascript">
<!--
window.open ('page.aspx','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
-->
</script> 指令碼運行後,page.aspx將在新表單newwindow中開啟,寬為100,高為400,距屏頂0象素,屏左0象素,無工具條,無菜單條,無捲軸,不可調整大小,無地址欄,無狀態欄。其中<!-- 和 -->是對一些版本低的瀏覽器起作用,在這些低版本瀏覽器中不會將標籤中的代碼作為文本顯示出來,要養成這個好習慣。
4、可用的parameters:其中yes/no也可使用1/0;pixel value為具體的數值,單位象素。
參數 | 取值範圍 | 說明
alwaysLowered | yes/no | 指定視窗隱藏在所有視窗之後
alwaysRaised | yes/no | 指定視窗懸浮在所有視窗之上
depended | yes/no | 是否和父視窗同時關閉
directories | yes/no | Nav2和3的目錄欄是否可見
height | pixel value | 視窗高度
hotkeys | yes/no | 在沒功能表列的視窗中設安全退出熱鍵
innerHeight | pixel value | 視窗中文檔的像素高度
innerWidth | pixel value | 視窗中文檔的像素寬度
location | yes/no | 位置欄是否可見
menubar | yes/no | 功能表列是否可見
outerHeight | pixel value | 設定視窗(包括裝飾邊框)的像素高度
outerWidth | pixel value | 設定視窗(包括裝飾邊框)的像素寬度
resizable | yes/no | 視窗大小是否可調整
screenX | pixel value | 視窗距螢幕左邊界的像素長度
screenY | pixel value | 視窗距螢幕上邊界的像素長度
scrollbars | yes/no | 視窗是否可有滾動欄
status | yes/no | 是否顯示狀態列內的資訊
titlebar | yes/no | 視窗題目欄是否可見
toolbar | yes/no | 視窗工具列是否可見
Width | pixel value | 視窗的像素寬度
z-look | yes/no | 視窗被啟用後是否浮在其它視窗之上
二、window.open() 應用與技巧
1.用一個串連調用
<script language="javascript" type="text/javascript">
<!--
function openwin()
{
window.open ("page.aspx", "newwindow", "height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no")
}
-->
</script>
<a href="#" onclick="openwin()">開啟一個視窗</a>
*使用的“#”是虛串連,若把“#”換成一個頁面,則效果是:開啟這個頁面的同時彈出小視窗。
2、定時關閉快顯視窗
只需在視窗頁面(注意是視窗頁面)加入以下代碼即可。
<script language="JavaScript" type="text/javascript">
function closeit()
{
setTimeout("self.close()",10000)
}
</script>其中,10000的單位是毫秒。再在<body>變成<body onload="closeit()">即可。
3、主視窗和快顯視窗處於一個頁面
一般,主視窗和快顯視窗都是分別為兩個頁面,可否都處在一個頁面呢?當然是可以的。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無標題頁</title>
<script language="JavaScript" type="text/javascript">
function openwin()
{
OpenWindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no");
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>
<input type="button" onclick="openwin()" value="開啟視窗" />
</body>
</html>
4、經常的應用
//==========================================================================
//
// 代碼描述:開啟一個新的沒有狀態列、工具列、功能表列、定位欄,
// 不能改變大小,且位置置中的新視窗
//
// 傳入參數:pageURL - 傳遞連結
// innerWidth - 傳遞需要開啟新視窗的寬度
// innerHeight - 傳遞需要開啟新視窗的高度
//
// 返回參數:無
//
//
//==========================================================================
function g_OpenWindow(pageURL, innerWidth, innerHeight)
{
var ScreenWidth = screen.availWidth
var ScreenHeight = screen.availHeight
var StartX = (ScreenWidth - innerWidth) / 2
var StartY = (ScreenHeight - innerHeight) / 2
window.open(pageURL, '', 'left='+ StartX + ', top='+ StartY + ', Width=' + innerWidth +', height=' + innerHeight + ', resizable=no, scrollbars=yes, status=no, toolbar=no, menubar=no, location=no')
}
三、強制回應視窗函數快顯視窗
//==========================================================================================
//
// 代碼描述:開啟強制回應視窗函數,開啟一個強制回應視窗不包含菜單、狀態條、工具條、定位欄
//
// 傳入參數:pageURL - 傳遞連結
// innerWidth - 傳遞需要開啟新視窗的寬度
// innerHeight - 傳遞需要開啟新視窗的高度
// 返回參數:無
//
//
//==========================================================================================
function g_OpenModalWindow(pageURL, innerWidth, innerHeight)
{
window.showModalDialog(pageURL, null, 'dialogWidth:' + innerWidth + 'px;dialogHeight:' + innerHeight + 'px;help:no;unadorned:no;resizable:no;status:no')
}
//==========================================================================================
//
// 代碼描述:開啟強制回應視窗函數,開啟一個強制回應視窗不包含菜單、狀態條、工具條、定位欄 ,並且傳回值
//
// 傳入參數:pageURL - 傳遞連結
// innerWidth - 傳遞需要開啟新視窗的寬度
// innerHeight - 傳遞需要開啟新視窗的高度
// 返回參數:模式表單返回的returnValue
//
//
//==========================================================================================
function g_OpenreturnWindow(pageURL, innerWidth, innerHeight)
{
var returnv;
returnv=window.showModalDialog(pageURL, null, 'dialogWidth:' + innerWidth + 'px;dialogHeight:' + innerHeight + 'px;help:no;unadorned:no;resizable:no;status:no')
return returnv;
}
//==========================================================================================
//
// 代碼描述:開啟強制回應視窗函數,開啟一個強制回應視窗不包含菜單、狀態條、工具條、定位欄
//
// 傳入參數:pageURL - 傳遞連結
// innerWidth - 傳遞需要開啟新視窗的寬度
// innerHeight - 傳遞需要開啟新視窗的高度
// 返回參數:無
//
//
//==========================================================================================
function g_OpenReturnModalWindow(pageURL, innerWidth, innerHeight)
{
window.showModalDialog(pageURL, null, 'dialogWidth:' + innerWidth + 'px;dialogHeight:' + innerHeight + 'px;help:no;unadorned:no;resizable:no;status:no');
return false;
}