該功能主要用於業務系統中的登錄操作,登錄后彈出全屏的業務系統主界面,而不需要工具欄、地址欄、菜單等功能。
之前針對不同瀏覽器找了無數種方法,包括網上能查到的所有方法,彈出的結果都不理想。結果有的IE6,7,8支持但是IE11不支持,有些火狐支持,chrome不支持。
最后找了很久才找到這個方法:經過測試IE6、IE7、IE8、IE11,Chrome都很理想。唯一360瀏覽器彈出了新窗口后還是會新建一個空白窗口,太奇葩了。
代碼如下:
var strStyle = 'height='+screen.availHeight+',width='+screen.availWidth+',left=0,top=0, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, status=no'; try { opener = window.open('login.jsp', 'login',strStyle);
opener.focus();
window.open('', '_self');
} catch (ex) {
alert("你的瀏覽器彈出頁面錯誤,錯誤信息:"+ex.message +"!");
}finally{
parent.window.close(); //這里很關鍵
}
下面是以前的代碼,有些瀏覽器不好使,不想再改了。
//關閉當前頁面,並且打開新頁面,(不提示) function closeWinAndOpen(url) { var sWinName = "LR"+parseInt(Math.random() * 100000000);//利用隨機數處理WinName window.open(url,sWinName, 'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=yes,copyhistory=yes'); closeWin(); } //關閉當前頁面 function closeWin() { window.opener=null; window.open('','_self'); window.close(); } 關閉父頁面: Response.Write("<script>window.top.opener=null;window.parent.close();</script>") (window.top.close() 也好使) 設置window.opener=null 可以不顯示:"您查看的網頁正在試圖關閉窗口,是否關閉窗口"