HTMLリンクを新しいタブで開く - 3つの方法と注意点
HTML でリンクを新しいタブまたはウィンドウで開く方法
HTML でリンクをクリックすると、同じタブまたはウィンドウで新しいページが開きます。しかし、場合によっては、リンクを新しいタブまたはウィンドウで開きたいことがあります。これは、ユーザーが元のページを開いたまま新しいページを表示したい場合に便利です。
方法
HTML でリンクを新しいタブまたはウィンドウで開くには、以下の方法があります。
target
属性は、リンクを開く場所を指定します。以下の値を設定できます。
_self
: 現在のタブまたはウィンドウで開く (デフォルト)_blank
: 新しいタブまたはウィンドウで開く_parent
: 親フレームで開く_top
: 最初のフレームで開く
<a href="https://example.com/" target="_blank">新しいタブで開く</a>
JavaScript を使用して、リンクをクリックしたときに新しいタブまたはウィンドウを開くことができます。
<a href="https://example.com/" onclick="window.open(this.href, '_blank'); return false;">新しいタブで開く</a>
ブラウザの設定を使用する
多くのブラウザでは、リンクを新しいタブまたはウィンドウで開くように設定できます。設定方法はブラウザによって異なりますが、通常は [設定] > [詳細設定] > [タブ] などのメニューにあります。
マウスジェスチャーを使用する
多くのブラウザでは、マウスジェスチャーを使用してリンクを新しいタブまたはウィンドウで開くことができます。ジェスチャー方法はブラウザによって異なりますが、通常は [Ctrl] キーを押しながらマウスホイールを中央クリックするか、リンクを右クリックして [新しいタブで開く] を選択します。
注意事項
target
属性を使用する場合は、XSS 攻撃のリスクに注意する必要があります。- JavaScript を使用する場合は、ブラウザの互換性を考慮する必要があります。
- ブラウザの設定を使用する場合は、ユーザーが設定を変更できない可能性があります。
- マウスジェスチャーを使用する場合は、ユーザーがジェスチャーを覚えていない可能性があります。
target 属性を使用する
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サンプルコード</title>
</head>
<body>
<a href="https://example.com/" target="_blank">新しいタブで開く</a>
</body>
</html>
JavaScript を使用する
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サンプルコード</title>
</head>
<body>
<a href="https://example.com/" onclick="window.open(this.href, '_blank'); return false;">新しいタブで開く</a>
</body>
</html>
HTML でリンクを新しいタブまたはウィンドウで開く方法
<meta> タグを使用する
meta
タグを使用して、すべてのリンクを新しいタブまたはウィンドウで開くように設定できます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="target" content="_blank">
<title>サンプルコード</title>
</head>
<body>
<a href="https://example.com/">リンク</a>
</body>
</html>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サンプルコード</title>
</head>
<body>
<a href="https://example.com/" class="new-tab">リンク</a>
</body>
</html>
.new-tab {
target: _blank;
}
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サンプルコード</title>
</head>
<frameset rows="100%">
<frame src="https://example.com/">
</frameset>
</html>
- CSS を使用する場合は、ユーザーが CSS を無効にしている可能性があります。
- フレームを使用する場合は、フレームが推奨されていないことに注意してください。
html tabs hyperlink