5

target = "_ blank"は非推奨ですが、W3Cバリデーターがこれについてエラーを出さないのはなぜですか?このコードをバリデーターに貼り付けて確認できます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<p>
<a href="http://www.stackoverflow.com" title="New window will open" target="_blank">Link opens in new window</a>
</p>
</body>
</html>

編集:

XHTML1.1はtarget=” _ blank”をサポートしていますが、XHTML 1.0 strictはサポートしていませんか?それとも、W3Cバリデーターのバグですか?

4

6 に答える 6

4

StrictではなくXHTML Transitionalとして検証されています。doctype を手動で XHTML 1.0 Strict にオーバーライドすると、次のエラーが発生します。

エラー行 11、列 76: 属性 "target" は存在しますが、この要素には使用できません。

…om" title="新しいウィンドウが開きます" target="_blank">リンクは新しいウィンドウで開きます

厳密にしたい場合は、この doctype を使用します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

移行スキーマでは、特定の非推奨の要素と属性を引き続き許可しています。これは、人々がより厳密なマークアップに向けて段階的に移行できるようにするためだと思います。

編集:

OK、元のコードは XHTML 1.1 で、バージョンは 1 つしかありません (Strict/Transitional はありません) 。この FAQによると、target 属性は実際には許可されていません。したがって、これはバリデーターのバグに違いないと思います。

于 2009-12-16T11:46:27.523 に答える
2

XHTML1.1のドキュメントでは、a要素の target 属性は「何でも」できることが示されています。

于 2009-12-16T11:54:31.097 に答える
2

非推奨ですが、削除されていません。そのため、それを検証することに問題があると思います。

于 2009-12-16T11:48:30.687 に答える
2

XHTML 1.1 は target="_blank" をサポートしていますが、XHTML 1.0 は厳密ではないということですか?

はい、そうです。

問題の回避策が必要な場合は、これがその 1 つです。別のオプションは、target="_blank" の代わりに window.open() を使用することです。

于 2009-12-16T12:10:19.590 に答える
1

私はあなたのコードを使用しましたが、次のエラーが発生しました。

このドキュメントを XHTML 1.1 としてチェック中にエラーが見つかりました!

検証出力: 1 エラー

  1. エラー行 11、列 76: 属性「ターゲット」がありません

    ….com" title="新しいウィンドウが開きます" target="_blank">リンクは新しいウィンドウで開きます

バリデーターは 2012 年 1 月 30 日現在動作しています。target="_blank" を使用して検証に合格することはできません

コードの次の有効な部分に置き換えます。

onclick="target='_blank';"

于 2012-01-30T06:46:57.157 に答える
0

xhtml は "targrt="_blank" をサポートしている可能性がありますが、減価償却されているため検証されません. JS を使用したくない場合は、"ドキュメント タイプ" で strict ではなく transitional を使用する必要があります.

于 2010-04-19T21:52:24.180 に答える