选择更改打开选项卡到新网址。但是如果选项卡在下一次选择更改时关闭怎么办?

时间:2014-09-19 14:57:16

标签: javascript jquery html

如何检查用户是否关闭了我打开并发送到网址的浏览器标签?

以下是我的代码。当用户更改选择下拉列表的值时,它会检查浏览器窗口是否已打开,如果是,则重新加载URL,如果没有打开选项卡的选项卡。

但是如果用户更改了选择值并且打开了新选项卡,那么他们会在下一次选择更改时将其关闭,新选项卡将不会打开。

urlmenu.onchange = function() {
   if (typeof(ref) != 'undefined') {
     ref.location = this.options[ this.selectedIndex ].value;
   } else {
     ref = window.open( this.options[ this.selectedIndex ].value, '_blank');
   }
};

如果您有任何问题,请与我们联系。

2 个答案:

答案 0 :(得分:1)

为您的窗口设置名称:

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

如果没有此名称的窗口,则在创建新浏览器时。如果已经存在,浏览器将重复使用它。

答案 1 :(得分:1)

试试这个,这应该可以解决问题

urlmenu.onchange = function() {

    var ref = window.open( this.options[ this.selectedIndex ].value, 'somename', '');

};

而不是使用'_blank'指定选项卡的名称,以便它只是刷新相同的选项卡,如果它已经打开而不是创建一个新选项卡。

使用'_blank'你会发出一个浏览器命令来打开另一个标签(如果你指的是hiehgt,则会发出一个窗口) 查看下面的例子

<button onclick="myFunction()">Try it</button>

<script>
var windowOpen = null;
function myFunction() {

    windowOpen  = window.open("http://stackoverflow.com", "somename", "");

}
</script>