javascript window.open打開新窗口后無法再次打開該窗口問題的解決方法
在系統(tǒng)中,會(huì)一些地方使用javascript open window。比如打開固定模式的窗口,防止用戶進(jìn)行其他操作。
參數(shù):
參數(shù) | 取值范圍 | 說明
alwaysLowered | yes/no | 指定窗口隱藏在所有窗口之后
alwaysRaised | yes/no | 指定窗口懸浮在所有窗口之上
depended | yes/no | 是否和父窗口同時(shí)關(guān)閉
directories | yes/no | Nav2和3的目錄欄是否可見
height | pixel value | 窗口高度
hotkeys | yes/no | 在沒菜單欄的窗口中設(shè)安全退出熱鍵
innerHeight | pixel value | 窗口中文檔的像素高度
innerWidth | pixel value | 窗口中文檔的像素寬度
location | yes/no | 位置欄是否可見
menubar | yes/no | 菜單欄是否可見
outerHeight | pixel value | 設(shè)定窗口(包括裝飾邊框)的像素高度
outerWidth | pixel value | 設(shè)定窗口(包括裝飾邊框)的像素寬度
resizable | yes/no | 窗口大小是否可調(diào)整
screenX | pixel value | 窗口距屏幕左邊界的像素長度
screenY | pixel value | 窗口距屏幕上邊界的像素長度
scrollbars | yes/no | 窗口是否可有滾動(dòng)欄
titlebar | yes/no | 窗口題目欄是否可見
toolbar | yes/no | 窗口工具欄是否可見
Width | pixel value | 窗口的像素寬度
z-look | yes/no | 窗口被激活后是否浮在其它窗口之上
實(shí)例:
根據(jù)分辨率計(jì)算高度和寬度后打開:
var widhh = screen.width - 20;
window.opener = null;
window.open("", "_self");
window.open("Main.aspx", "newwindow" + JsGuid(),
"height=" + ht + ", width=" + widhh + ",
depended=yes,top=0,left=0,toolbar=no, menubar=no,
scrollbars=yes, resizable=no, location=no, status=yes");
window.close();
并關(guān)閉原來的窗口。
問題:
在window.open后,如果系統(tǒng)退出,再次使用window.open打開新頁面的時(shí)候,會(huì)出現(xiàn)錯(cuò)誤。
google了半天也沒找到。一想這個(gè)問題應(yīng)該不常發(fā)生肯定是配置的問題。
其中,我們可以看到window.open的第二個(gè)參數(shù)是新窗口的名字。這個(gè)名字是不能重復(fù)的。
如果重復(fù)了就是一直在這個(gè)窗口打開刷新。
所以我加了一個(gè)js的隨機(jī)GUID函數(shù)。
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
};
function JsGuid() {
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
}
打開窗口的時(shí)候使用:window.open("Main.aspx", "newwindow" + JsGuid());
OK,問題解決。
相關(guān)文章
JS實(shí)現(xiàn)網(wǎng)頁上隨滾動(dòng)條滾動(dòng)的層效果代碼
這篇文章主要介紹了JS實(shí)現(xiàn)網(wǎng)頁上隨滾動(dòng)條滾動(dòng)的層效果代碼,涉及JavaScript頁面元素屬性的獲取、運(yùn)算及設(shè)置等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11setinterval()與clearInterval()JS函數(shù)的調(diào)用方法
這篇文章主要介紹了setinterval()與clearInterval()JS函數(shù)的調(diào)用方法,實(shí)例分析了setinterval()與clearInterval()的語法結(jié)構(gòu)及使用技巧,需要的朋友可以參考下2015-01-01JavaScript使用RegExp進(jìn)行正則匹配的方法
這篇文章主要介紹了JavaScript使用RegExp進(jìn)行正則匹配的方法,實(shí)例分析了RegExp對象在進(jìn)行正則匹配時(shí)的相關(guān)使用技巧,需要的朋友可以參考下2015-07-07JS判斷數(shù)組四種實(shí)現(xiàn)方法詳解
這篇文章主要介紹了JS判斷數(shù)組四種實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Javascript讀取json文件方法實(shí)例總結(jié)
json文件是一種輕量級的數(shù)據(jù)交互格式,下面這篇文章主要給大家介紹了關(guān)于Javascript讀取json文件方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11Js Snowflake(雪花算法)生成隨機(jī)ID的實(shí)現(xiàn)方法
這篇文章主要介紹了Js Snowflake(雪花算法)生成隨機(jī)ID的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08