我有一个JavaScript文件从第三方开发人员。它有一个has链接,用目标替换当前页面。我想有这个页面在一个新的选项卡打开。

这是我目前所拥有的:

if (command == 'lightbox') {
 location.href="https://support.wwf.org.uk/earth_hour/index.php?type=individual";
}

有人能帮帮我吗?


window.open(
  'https://support.wwf.org.uk/earth_hour/index.php?type=individual',
  '_blank' // <- This is what makes it open in a new window.
);

你可以用window.open('https://support.wwf.org.uk/earth_hour/index.php?type=individual')在一个新窗口中打开它。如果您想在新选项卡中打开它,请在两个选项卡中打开当前页面,然后允许脚本运行,以便同时获得当前页面和新页面。


如果你想使用位置。Href避免弹出问题,你可以使用一个空的<a> ref,然后使用javascript点击它。

在HTML中

<a id="anchorID" href="mynewurl" target="_blank"></a>

然后javascript点击如下

document.getElementById("anchorID").click();

例如:

    $(document).on('click','span.external-link',function(){
        var t               = $(this), 
            URL             = t.attr('data-href');        
        $('<a href="'+ URL +'" target="_blank">External Link</a>')[0].click();

    });

工作的例子。


纯js替代window.open

let a= document.createElement('a');
a.target= '_blank';
a.href= 'https://support.wwf.org.uk/';
a.click();

下面是工作示例(stackoverflow片段不允许打开)


你也可以打开一个新选项卡调用action方法,参数如下:

   var reportDate = $("#inputDateId").val();
   var url = '@Url.Action("PrintIndex", "Callers", new {dateRequested = "findme"})';
   window.open(window.location.href = url.replace('findme', reportDate), '_blank');

位置的使用。Href将替换当前url与新的url即链接在同一网页。

要打开一个新标签,你可以使用如下:

if (command == 'lightbox') {
 window.open("https://support.wwf.org.uk/earth_hour/index.php?type=individual", '_blank');
}