プロが教えるわが家の防犯対策術!

次のページでHTML5のソースを直接入力して正しいかどうかチェックしました。

「Another HTML Lint - Gateway」
http://www.htmllint.net/html-lint/htmllint.html

そのサイトで、次のページにあるmeta要素の「http-equiv="refresh"」のサンプルを試してみました。
「meta 要素 - ドキュメントのメタデータ - HTML要素 - HTML5 タグリファレンス - HTML5.JP」
http://www.html5.jp/tag/elements/meta.html#attr- …

<meta http-equiv="Refresh" content="300">
ならばエラーが無いのですが、
<meta http-equiv="Refresh" content="20; URL=page4.html">
ですと、
「20; URL=page4.htmlは <META>要素上のCONTENT属性には不適格です」
という致命的なエラーを指摘されます。

どのように直したら良いのか分かりません。
Javascriptは使わない予定ですし、.htaccess も使わない予定です。

エラーを指摘されないように直す方法を教えてください。よろしくお願いします。

A 回答 (4件)

ANo3です。



ご質問文を見直したら、「HTML5で~」とちゃんと書いてありましたね。大変、失礼いたしました。


仕様書を見てみたら(英語苦手なんだが…)、ご質問の内容がそのままサンプルとして例示されているようです。
…なので、私にはわかりそうもない(-_-;)

--------- 以下引用 ----------
EXAMPLE 14
A sequence of pages could be used as an automated slide show by making each page refresh to the next page in the sequence, using markup such as the following:

<meta http-equiv="Refresh" content="20; URL=page4.html">
-----------------------------

http://www.w3.org/TR/html51/document-metadata.ht …
    • good
    • 0
この回答へのお礼

いえいえ、回答ありがとうございました。
「致命的なエラー」を指摘されても問題なくリダイレクトできてますから、
気にしなければ良いのですが、100点を目指す癖がありまして…。(;^_^A)

お礼日時:2017/02/23 12:30

こんにちは



私の環境では「致命的なエラー」は出ませんね。
(HTML4.01 Strictでチェック)
文書チェックなので、環境は関係ないはずなのですが…(笑)

非推奨などの指摘はありますが、エラーが出た場合は、それに対する解説を参照することで、どこが引っかかっているかわかるはずと思います。
解説152に
------- 以下引用 -------
なお、HTML4.01(J)には次のようなREFRESHの指定方法が記述されています。
<META http-equiv="REFRESH" content="3,jump.html">
-------------------------
とありますが、 Lintでは区切り文字は「,」か「;」でチェックしているようですね。


□添付の結果の際にテストしたマークアップは以下

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>test</title>
<meta http-equiv="Refresh" content="20; URL=page4.html">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="next" href="page4.html">
</head>
<body>
<p>ジャンプ先は<a href="page4.html">ここです</a>
</body>
</html>
「HTML5での http-equiv="」の回答画像3
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。
私がチェックしたHTMLは次の通りです。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="Refresh" content="20; URL=page4.html">
<title>てすと</title>
</head>
<body>
<p>てすと</p>
</body>
</html>

HTML5としてチェックされます。
HTML5で「http-equiv="Refresh"」の使い方が変更されたのかもしれませんね。
どこかのサイトに書いてあるかもしれませんから、探してみます。

お礼日時:2017/02/23 10:54

ああ、申し訳ありません。

改行先をよく見ずにいい加減な回答をしてしまいました。
http-equivを使って、ユーザーを他のページに移動させる方法は使うべきではないとされているので、それを指摘されているのかもしれません。
    • good
    • 0
この回答へのお礼

いえいえ、回答ありがとうございます。

お礼日時:2017/02/22 23:10

20の後のダブルクォートが抜けているからではありませんか?

    • good
    • 0
この回答へのお礼

回答、ありがとうございます。
例えば、
<meta http-equiv="Refresh" content="20" URL="page4.html">
では、
「<META> に他のHTML用の属性 `URL` が指定されています。」
というエラーになります。
content="20"
としてしまうと、ジャンプ先のURLが指定できません。

お礼日時:2017/02/22 22:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!