メタリフレッシュは、パラメータを " " に設定し、時間間隔を秒単位で指定するパラメータを持つHTML要素を使用して、指定された時間間隔後に現在の Web ページまたはフレームを自動的に更新するようにWeb ブラウザに指示する方法です。パラメータに代替 URL を含めることで、ページが更新されたときにブラウザに別のURL を取得するように指示することもできます。更新時間間隔を 0 (または非常に低い値) に設定することで、メタリフレッシュをURL リダイレクトの方法として使用できます。
metahttp-equivrefreshcontentcontent
歴史
この機能はもともと、Netscape Navigatormeta 1.1 (1995年頃) で HTTP ヘッダーと対応する HTML HTTP 相当要素の形式で導入されました。この機能により、ドキュメント作成者はクライアントに、指定されたタイムアウト後にドキュメントを自動的に再読み込みするか、指定された URL に変更するように通知できます。 [1]これはWebで利用できる最も古いポーリングメカニズムです[引用が必要] 。これにより、ユーザーはサッカーのライブ スコアや天気予報を表示するページなど、頻繁に変更される Web ページで最新の更新を確認できます。
ユーザビリティ
予期しないリフレッシュによってユーザーが混乱する可能性があるため、ワールドワイドウェブコンソーシアム(W3C)ではメタリフレッシュの使用は推奨されていません。 [2]また、メタリフレッシュは一部のブラウザ( Internet Explorer 6以前を含む)のWebブラウザの「戻る」ボタンの機能を損なうことがありますが、最近のブラウザのほとんど( Internet Explorer 7以降、Mozilla Firefox、Opera、Google Chrome )ではこれを補っています。
メタリフレッシュの正当な使用法としては、動的な Web ページの更新を提供したり、 JavaScriptを使用せずに Web サイトのサイト制御ナビゲーションを実装するなどがあります。多くの大規模な Web サイトでは、特に JavaScript やリダイレクト ヘッダーへの依存が望ましくない場合に、ニュースやステータスの更新を更新するためにメタリフレッシュを使用しています。
例
5 秒後にページを更新するには、要素内に配置します<head>。
< meta http-equiv = "refresh" content = "5" >
5秒後にリダイレクトhttps://example.com/:
< meta http-equiv = "refresh" content = "5; url=https://example.com/" >
すぐにリダイレクトhttps://example.com/:
< meta http-equiv = "refresh" content = "0; url=https://example.com/" >
欠点
メタリフレッシュタグにはいくつかの欠点があります。
- ページのリダイレクトが速すぎる場合 (2 ~ 3 秒未満)、次のページで [戻る] ボタンを使用すると、一部のブラウザではリダイレクト ページに戻り、再びリダイレクトが発生することがあります。これにより、読者が最後の Web サイトで「行き詰まる」可能性があるため、ユーザビリティが低下します。
- 読者は別のページにリダイレクトされることを望む場合と望まない場合があるが、これはユーザーの不満やセキュリティに関する懸念につながる可能性がある。[3]
代替案
メタ リフレッシュはメタ タグを使用してHTTPhttp-equivヘッダーをエミュレートするため、 HTTP Web サーバーによってヘッダーとして送信することもできます。HTTP標準の一部ではありませんが、一般的なすべてのブラウザーでサポートされています。
Refresh Refresh
5 秒後にリダイレクトする HTTP ヘッダーの例https://example.com/:
更新: 5; url=https://www.example.com/
メタリフレッシュの両方の用途には代替手段が存在します。
リダイレクト用
代替案としては、 HTTP 301や302などのHTTP リダイレクトステータス コードを送信する方法があります。これは、ユーザー エージェントを別のページにリダイレクトするための推奨される方法です。これは、Web サーバー内の特別なルール、または Web サーバー上の簡単なスクリプトによって 実現できます。
JavaScript も別の選択肢ですが、ユーザーがブラウザで JavaScript を無効にしている可能性があるため、お勧めしません。
onloadタグのプロパティを使用して JavaScript リダイレクトを行う最も簡単な方法body:
< body onload = "window.location = 'http://example.com/'" >
<!-- ここにあなたのコンテンツを記入 -->
</本文>
リフレッシュ用
別の方法としては、ボタンなどの対話型デバイスを用意して、ユーザーがコンテンツを更新するタイミングを選択できるようにすることです。別のオプションとしては、ページ全体を更新せずに Web サイト (の一部) を更新するAjaxなどの技術を使用する方法がありますが、この場合もユーザーがブラウザーで JavaScript を有効にする必要があります。
JavaScript のlocation.reloadメソッドを 使用して Web ページを更新できます。このコードは、イベントが発生したときに自動的に呼び出すことも、ユーザーがリンクをクリックしたときに呼び出すこともできます。マウス クリックを使用して Web ページを更新する場合は、次のコードを使用できます。
< a href = "javascript:location.reload(true)" >このページを更新する</ a >
参考文献
- ^ 「An Exploration of Dynamic Documents」。Netscape Communications Corporation。2002年1月24日時点のオリジナルよりアーカイブ。2020年4月24日閲覧。
- ^ Web コンテンツ アクセシビリティ ガイドライン 1.0 のコア テクニック - W3C ノート 2000 年 11 月 6 日
- ^ Meta Refresh Tag、ページのリロードやリダイレクトのためのタグの使用法を解説したAbout.comの記事
外部リンク
- W3C Webコンテンツアクセシビリティガイドライン(1.0):時間的制約のあるコンテンツの変更をユーザーが制御できるようにする
- メタリフレッシュはW3Cによって非推奨になりました
- 標準のリダイレクトを使用してください。戻るボタンを壊さないでください。
- H76: メタリフレッシュを使用してクライアント側で即時リダイレクトを作成する
