當用戶更改選擇下拉列表的值時,我正在使用JavaScript將網址加載到_blank頁面。在「選擇」更新新標籤打開網址...只有一次
urlmenu.onchange = function() {
window.open(this.options[ this.selectedIndex ].value, '_blank');
};
但我只希望腳本打開一個新的標籤一次,如果他們再次更改打開他們以前打開的標籤中的新頁面。
當用戶更改選擇下拉列表的值時,我正在使用JavaScript將網址加載到_blank頁面。在「選擇」更新新標籤打開網址...只有一次
urlmenu.onchange = function() {
window.open(this.options[ this.selectedIndex ].value, '_blank');
};
但我只希望腳本打開一個新的標籤一次,如果他們再次更改打開他們以前打開的標籤中的新頁面。
您可以檢查窗口是否打開或不使用窗口
urlmenu.onchange = function() {
if (typeof(ref) != 'undefined') {
ref.location = this.options[ this.selectedIndex ].value;
} else {
ref = window.open(this.options[ this.selectedIndex ].value, '_blank');
}
};
的第二個參數應該是新創建的窗口(_blank
你的情況)的名稱的參考。它用於HTML target
屬性中,用於引用JS中的彈出窗口和來檢查,如果window.open()
應該打開一個新的窗口/選項卡或重新加載現有的窗口。
要打開每個呼叫的新選項卡,請使用例如時間戳創建唯一的窗口名稱。要在同一選項卡中打開所有新頁面,請給窗口一個常數名稱。
var isOpen = false;
if(!isOpen){
urlmenu.onchange = function() {
window.open(this.options[ this.selectedIndex ].value, '_blank');
};
isOpen = true;
}
試着用這個,希望我理解正確。
維護一個國旗呢? – 2014-09-19 07:48:47
你可以給旗幟更多的反饋嗎? – Denoteone 2014-09-19 07:52:54
檢查示例。 – 2014-09-19 09:45:17