一、兼容性較高的瀏覽器頁面關閉
//關閉網頁,不支持火狐(火狐返回上次瀏覽頁面)
//FireFox非window.open()等彈出頁面,需要在地址欄中輸入about:config, 然後將dom.allow_script_to_close_windows改為true才能達到想要的效果。
function CloseWebPage() {
if (navigator.userAgent.indexOf("MSIE") > 0) {
if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
window.opener = null; window.close();
}
else {
window.open('', '_top'); window.top.close();
}
}
else if (navigator.userAgent.indexOf("Firefox") > 0) {
window.history.go(-1);
}
else {
window.close();
}
}
//關閉網頁,不支持火狐(火狐返回上次瀏覽頁面)
//FireFox非window.open()等彈出頁面,需要在地址欄中輸入about:config, 然後將dom.allow_script_to_close_windows改為true才能達到想要的效果。
function CloseWebPage() {
if (navigator.userAgent.indexOf("MSIE") > 0) {
if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
window.opener = null; window.close();
}
else {
window.open('', '_top'); window.top.close();
}
}
else if (navigator.userAgent.indexOf("Firefox") > 0) {
window.history.go(-1);
}
else {
window.close();
}
}
二、window.showModalDialog()擴展
<span style="font-size:13px;">// 打開ModalDialog子窗口,並獲取返回值
function ModalDialogOpen(wUrl, wWidth, wHeight) {
if (window.showModalDialog != null)//IE判斷
{
var returnvalue = window.showModalDialog(wUrl, "_self", "dialogWidth:" + wWidth + "px;dialogHeight:" + wHeight + "px;status:no;help:no;scrolling=yes;scrollbars=yes;center=yes");
if(!returnvalue){
returnvalue = window.ReturnValue;;
}
return returnvalue;
}
else {
this.returnAction = function(strResult) {
if (strResult != null)
return strResult;
}
window.open(wUrl, "", "width=" + wWidth + ",height=" + wHeight + ",menubar=no,toolbar=no,location=no,scrollbars=yes,status=no,modal=yes");
}
}
// 關閉ModalDialog子窗口,並返回值
function ModalDialogClose(val) {
if (window.showModalDialog != null)//IE判斷
{
if (navigator.userAgent.indexOf("Chrome") > 0) {
// Chrome支持
window.opener.ReturnValue = val;
} else {
parent.window.returnValue = val;
}
window.close(); //firefox不支持
}
else {
window.opener.returnAction(val);
top.close(); //IE和FireFox都支持
}
}
</span>
<span style="font-size:13px;">// 打開ModalDialog子窗口,並獲取返回值
function ModalDialogOpen(wUrl, wWidth, wHeight) {
if (window.showModalDialog != null)//IE判斷
{
var returnvalue = window.showModalDialog(wUrl, "_self", "dialogWidth:" + wWidth + "px;dialogHeight:" + wHeight + "px;status:no;help:no;scrolling=yes;scrollbars=yes;center=yes");
if(!returnvalue){
returnvalue = window.ReturnValue;;
}
return returnvalue;
}
else {
this.returnAction = function(strResult) {
if (strResult != null)
return strResult;
}
window.open(wUrl, "", "width=" + wWidth + ",height=" + wHeight + ",menubar=no,toolbar=no,location=no,scrollbars=yes,status=no,modal=yes");
}
}
// 關閉ModalDialog子窗口,並返回值
function ModalDialogClose(val) {
if (window.showModalDialog != null)//IE判斷
{
if (navigator.userAgent.indexOf("Chrome") > 0) {
// Chrome支持
window.opener.ReturnValue = val;
} else {
parent.window.returnValue = val;
}
window.close(); //firefox不支持
}
else {
window.opener.returnAction(val);
top.close(); //IE和FireFox都支持
}
}
</span>
摘自 塗劍凱的專欄