Вопрос

Хотя 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>

Редактировать:

Означает ли это, что XHTML 1.1 поддерживает target="_blank", а XHTML 1.0 strict - нет?Или это ошибка в валидаторе W3C?

Это было полезно?

Решение

Вы проходите проверку как XHTML Переходный скорее, чем Строгий.Если вы вручную переопределите тип документа на XHTML 1.0 Strict, вы получите следующую ошибку:

Строка ошибки 11, столбец 76:Атрибут «цель» существует, но не может быть использован для этого элемента.

…om" title="Откроется новое окно" target="_blank">Ссылка откроется в новом окне

Используйте этот тип документа, если хотите быть строгим:

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

Переходные схемы по-прежнему допускают использование некоторых устаревших элементов и атрибутов, я думаю, чтобы помочь людям. переход в шагах к более строгой разметке.

РЕДАКТИРОВАТЬ:

Итак, исходный код был XHTML 1.1, у которого есть только одна версия (без строгого/переходного), и в соответствии этот FAQ целевой атрибут действительно не разрешен.Я думаю, это ошибка в валидаторе.

Другие советы

Он устарел, но не удален.Вот почему я думаю, что существует проблема с проверкой этого.

А Документация XHTML1.1 показывает, что целевой атрибут a элементом может быть «что угодно».

Означает ли это, что XHTML 1.1 поддерживает target=”_blank”, а XHTML 1.0 strict — нет?

Ну да.

Если вам нужен обходной путь для вашей проблемы, то это один из них.Другой вариант — использовать window.open() вместо target="_blank".

Я использовал ваш код и получил следующую ошибку.

Обнаружена ошибка при проверке этого документа как XHTML 1.1!

Результат проверки:1 ошибка

  1. Строка ошибки 11, столбец 76:нет атрибута «цель»

    ….com" title="Откроется новое окно" target="_blank">Ссылка откроется в новом окне

Валидатор работает по состоянию на 30.01.2012.Вы не можете пройти проверку, используя target="_blank"

Замените этой допустимой частью кода:

onclick="target='_blank';"

Хотя xhtml может поддерживать «targrt="_blank», он НЕ БУДЕТ проверять его, поскольку он устарел.Если вы не хотите использовать JS, вам придется использовать переходный вместо строгого в своем «типе документа».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top