HTMLはa要素hrefのURLリンクを自動的に更新したり新しいウィンドウを開いたりする機能を実装する

HTMLはa要素hrefのURLリンクを自動的に更新したり新しいウィンドウを開いたりする機能を実装する

場合によっては、次のような機能を実装したいことがあります。リンクをクリックします。リンクがブラウザで開かれている場合は、開いているリンク ウィンドウを更新します。リンクが開かれていない場合は、リンク ページを新しいウィンドウで開きます。

これは、ブラウザのタブで重複したページや冗長なページが開かれることを効果的に回避できる、非常に優れたエクスペリエンス向上機能です。

鍵はそれをどうやって達成するかです。

a タグの target 属性を使用します。

リンク要素とフォーム要素の両方に target という属性があります。サポートされている値は次のとおりです。

  • _self: デフォルト値。現在のブラウザのコンテキスト。
  • _blank: 通常は新しいタブですが、ユーザーはブラウザを設定して新しいウィンドウで開くこともできます。
  • _parent: 現在のブラウザ コンテキストの親コンテキスト。親が存在しない場合は、_self のように動作します。
  • _top: 最上位のブラウザコンテキスト。祖先コンテキストが存在しない場合は、_self のように動作します。

実際、ターゲットには、特定の URL アドレスまたは任意のカスタム名として指定できるという隠れた機能があります。

例えば:

<a href="http://www.baidu.com" target="http://www.baidu.com">空白ページ</a>

このとき、ブラウザに既に blank.html というアドレスのタブがある場合、上記のリンクをクリックしても新しいウィンドウは開かず、既に開いている blank.html が直接更新されます。ブラウザに blank.html というアドレスのタブがない場合、target 属性の動作は '_blank' と同様になります。

つまり、リンク アドレスの自動更新と新しいウィンドウの開きという要件を実現したい場合は、リンク要素とフォーム要素の target 属性値をターゲット URL アドレス値に設定するだけで済みます。

したがって、すべての検索結果ページで 1 つのタブを使用する場合は、他の方法を使用する必要があります。これは非常に簡単です。同じ値を指定するだけです。たとえば、次のようになります。

<a href="blank.html?s=1" target="_search">空白ページ?s=1</a>
<a href="blank.html?s=2" target="_search">空白ページ?s=2</a>

ご覧のとおり、 href="blank.html?s=1"和href="blank.html?s=2"同じページを指し、2 つの新しいウィンドウは開きません。

要約する

a 要素の href リンクを自動的に更新したり、新しいウィンドウで開く機能を実現するには、target 属性値を href 属性値と同じに設定するだけです。

この機能はIE、Firefox、Chromeでサポートされているので、安心してご利用いただけます。

html 内の要素 href の URL リンクの自動更新または新しいウィンドウを開く方法についての記事はこれで終わりです。html 内の URL リンクの自動更新または新しいウィンドウを開く方法についてのより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  RGBA の「a」は何を意味するのでしょうか? CSS RGBA カラー ガイド

>>:  CSS 完全な視差スクロール効果

推薦する

Docker-compose を使用して ELK をデプロイするためのサンプル コード

環境ホストIP 192.168.0.9 Docker バージョン 19.03.2 docker-co...

Vueのミックスインと継承について詳しく説明します

目次序文ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン継承するミ...

jQuery をベースにリスト ループ スクロールを実装するためのヒント (超簡単)

良いアイデアを見つけたので記録しました。私は以前、スクロール効果を実現するためにjQueryを使用し...

Js クラスの構築と継承のケースの詳細な説明

JS のクラスの定義や継承は本当に多様なので、別のノートブックを開いて記録しておきます。意味オブジェ...

docker インストール後に hello-world を実行する問題を解決する

yumを使用してcentos7.3にDocker V1.13.1をインストールしましたしかし、doc...

2015-2016年に主流となるインタラクティブ体験のトレンド

5月の最も重要なインタラクティブデザイン記事!今年、Baiduのデザイナーは体験の観点から出発し、大...

Windows システムに VirtualBox と Ubuntu 16.04 をインストールするための詳細なチュートリアル

1. ソフトウェアの紹介バーチャルボックスVirtualBox は、無料のオープンソース仮想マシン ...

nodejs で worker_threads を使用して新しいスレッドを作成する方法

導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...

ウェブ画像形式としてPNG、JPG、GIFを選択して使用する方法

では、GIF、PNG、JPG のどの形式を候補形式として選択すればよいのでしょうか。また、どの画像形...

Vueは新しいウィンドウを開き、パラメータ転送のグラフィック例を実装します。

私が実現したい機能は、新しいウィンドウを開いて新しいページを表示することですが、パラメータを渡す必要...

CSS は、モバイル端末でクリックされたときに生成された要素の背景色を削除します (推奨)

クリック時に背景色を生成する要素の CSS スタイルに次のコードを追加します。 -webkit-ta...

VMware Tools を最初からインストールするための詳細な手順 (グラフィック チュートリアル)

VMware Tools は VMware 仮想マシンに付属するツールで、VirtualBox (...

docker-compsoe を使用してフロントエンドとバックエンドを分離したプロジェクトをデプロイする方法

事前に言っておくDocker を使用すると非常にシンプルなデプロイメント環境を実現できることは誰もが...

LeetCode の SQL 実装 (181. 従業員は管理職よりも収入が高い)

[LeetCode] 181.従業員の収入が管理職よりも多い従業員テーブルには、マネージャーを含む...

Vue3 の使用 (パート 1) Vue CLI プロジェクトの作成

目次1. 公式ドキュメント2. Vue CLIプロジェクトを作成する1. Vue CLIをインストー...