在"选择"更新新标签页中的打开网址...仅一次

时间:2014-09-19 07:45:35

标签: javascript jquery html webforms selection

当用户更改选择下拉列表的值时,我使用javascript将URL加载到_blank页面。

urlmenu.onchange = function() {
  window.open( this.options[ this.selectedIndex ].value, '_blank');
};

但我只希望脚本打开一个新标签,如果它们再次更改,请在之前打开的标签页中打开新页面。

3 个答案:

答案 0 :(得分:1)

您可以使用窗口参考

检查窗口是否已打开
    urlmenu.onchange = function() {
       if (typeof(ref) != 'undefined') {
         ref.location = this.options[ this.selectedIndex ].value;
       } else {
         ref = window.open( this.options[ this.selectedIndex ].value, '_blank');
       }
    };

答案 1 :(得分:1)

第二个参数应该是新创建的窗口的名称(在您的情况下为_blank)。它在HTML target属性中用于引用JS中的弹出窗口来检查,如果window.open()应该打开一个新的窗口/选项卡,或者重新加载现有的窗口/选项卡

要在每次调用时打开新选项卡,请使用例如时间戳创建唯一的窗口名称。要在同一选项卡中打开所有新页面,请为窗口指定一个常量名称。

答案 2 :(得分:1)

var isOpen = false;

if(!isOpen){
    urlmenu.onchange = function() {
      window.open( this.options[ this.selectedIndex ].value, '_blank');
    };
    isOpen = true;
}

尝试使用此功能,希望我理解正确。