回答:
window.open(
'https://support.wwf.org.uk/earth_hour/index.php?type=individual',
'_blank' // <- This is what makes it open in a new window.
);
_blank
アンカークリックをまったくシミュレートしません。
location.href
ポップアップの問題を回避するために使用したい場合は、空の<a>
参照を使用してから、JavaScriptを使用してそれをクリックできます。
HTMLのようなもの
<a id="anchorID" href="mynewurl" target="_blank"></a>
次にjavascriptはそれを次のようにクリックします
document.getElementById("anchorID").click();
$("#anchorID")[0].click();
このソリューションをjqueryで使用します。
[0]
で新しいウィンドウで開くことができますwindow.open('https://support.wwf.org.uk/earth_hour/index.php?type=individual');
。新しいタブで開きたい場合は、現在のページを2つのタブで開き、スクリプトを実行して、現在のページと新しいページの両方を取得します。
window.openの純粋なjs代替
let a= document.createElement('a');
a.target= '_blank';
a.href= 'https://support.wwf.org.uk/';
a.click();
ここに作業例があります(stackoverflowスニペットでは開くことができません)
例えば:
$(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();
});
作業例。
次のようなパラメーターを使用してアクションメソッドを呼び出す新しいタブを開くこともできます。
var reportDate = $("#inputDateId").val();
var url = '@Url.Action("PrintIndex", "Callers", new {dateRequested = "findme"})';
window.open(window.location.href = url.replace('findme', reportDate), '_blank');
reportDate
およびurl
変数なしで動作しませんか?