2009-12-16 4 views
5

В то время как target = "_ blank" устарел, почему валидатор W3C не дает об этом ошибки? Вы можете вставить и проверить этот код Int в validator:Почему мой документ не проверяется как XHTML 1.1 STRICT?

<!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> 

Edit:

Означает ли это, что XHTML 1.1 поддерживает цель =»_blank», но XHTML 1.0 Strict не делает? Или это ошибка в валидаторе W3C?

ответ

4

Вы проверяемые в XHTML Transitional , а не Строгий. Если вы вручную изменить доктайп к XHTML 1.0 Strict вы получите эту ошибку:

Error Line 11, Column 76: Attribute "target" exists, but can not be used for this element.

…om" title="New window will open" target="_blank">Link opens in new window

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

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

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

EDIT:

ОК, так что исходный код был XHTML 1.1, который есть только одна версия (не Строгий/Transitional), а также в соответствии this FAQ целевой атрибут действительно не допускается. Поэтому я предполагаю, что это должно быть ошибкой в ​​валидаторе.

+0

, что о XHTML 1.1 –

+0

Является ли это действительно ошибка в w3c валидатор –

2

Устаревшее, но не удаленное. Вот почему я думаю, что есть проблема в проверке этого.

2

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

+0

это означает XHTML целевой поддержки 1.1 = "_ Blank"? –

+1

Насколько я могу судить, да. –

2

Означает ли это, что XHTML 1.1 поддерживает target = "_ blank", но XHTML 1.0 строгого нет?

Ну, да.

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

+0

, но если я работаю с XHTML 1.1, могу ли я использовать target = "_ blank"? –

+0

очевидно .. вы можете .. –

0

В то время как xhtml может поддерживать «targrt =» _ blank, он НЕ проверяет его, потому что он был обесценен. Если вы не хотите использовать JS, вам придется использовать переходный, а не строгий тип вашего документа »

1

Я использовал свой код, и я получил следующее сообщение об ошибке

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

Validation Выход:..! 1 ошибка

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

    ....ком»название =„Новое окно будет открыто“целевых =„_blank“> Ссылка откроется в новом окне

Валидатор работает от 1/30/2012. Вы не можете пройти проверку с помощью TARGET =„_blank“

Заменить этот действительный часть кода:

OnClick = "TARGET = '_ пустой';"