Jiro Laboratory

C#、ASP.NET、JavaScript、Androidとか

リンクを新しいタブ、新しいウィンドウで開いたことを識別する方法

スタック・オーバーフローに教えてもらいました。

回答

if (document.referrer) {
    if (history.length == 1) {
        alert('リンクから新しいウィンドウで開かれました。');
    } else {
        alert('リンクから同じウィンドウで開かれました。');
    }
} else {
    alert('アドレスバーにURLを打ち込んで開かれました。もしくはブックマークから開かれました。');
}

右クリック → 新しいタブ or ウィンドウで開いた場合にはリファラが設定されているわけですな。
これは思いつきませんでした^^