2010-02-08 1 views
2

Будет тег какБудет ли добавлять атрибуты rel или name в div и span, чтобы IE/FF перешел в режим quirks?

<span id="suchAndSuch" class="blah" rel="this.that.other" name="this.name"></span> 

или

<div id="suchAndSuch" class="blah" rel="this.that.other" name="this.name"></div> 

броска IE и/или FF для QM? Согласно W3C, они не являются стандартными атрибутами для этих тегов, но они не говорят, что это сделает их недействительными.

Ваша помощь очень ценится.

ответ

3

Нет, он не бросит браузер в режим причуд. Не имея DOCTYPE или имеющий HTML-комментарий (или любой контент HTML) до того, как DOCTYPE бросит браузер в режим причуд.

Если вы можете избежать использования настраиваемых атрибутов, вам следует. Если вы не можете, вы можете захотеть использовать тип документа HTML5, а затем использовать атрибуты data. Например, что вы написали, можно сделать так:

<div id="suchAndSuch" class="blah" data-references="this.that.other" data-name="this.name"></div> 

И это будет по-прежнему в силе, а также поддерживается современными браузерами (и даже несколько более старых).

+0

Я должен добавить, что только IE бросается в режим причуд при использовании комментария HTML перед DOCTYPE. Firefox et al. все равно будут придерживаться этого. –

1

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

Я думаю, что ключ должен иметь действительный доктайп:

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

Вы можете проверить, как страница визуализируется следующим:

В Firefox выберите Инструменты> Информация о странице и посмотрите «Режим рендеринга».

В IE8 нажмите «Инструменты»> «Инструменты разработчика» и посмотрите «Режим документа» в правом верхнем углу.

Например, эта страница отображается в «Стандартном режиме соответствия» в Firefox и «Стандартах IE8» в Internet Explorer.

1

Режим Quirks должен срабатывать только на основании (отсутствия) DOCTYPE, указанного для документа.

В Firefox или IE, вы можете проверить режим документа, вставив следующие в адресной строке:

javascript:alert(document.compatMode) 

Допустимые значения document.compatMode являются BackCompat (для режима причуды) и CSS1Compat (для стандартов/строгий режим).

В Firefox вы также можете щелкнуть правой кнопкой мыши документ и нажать «Просмотреть информацию о странице». Режим будет отображаться в верхней части как «Режим рендеринга».

0

Thx все для быстрого ответа. Я пошел дальше и протестировал каждый из тегов выше с помощью валидатора W3C, и он действительно недействителен X/HTML (строго говоря, я считаю), чтобы использовать rel или имя в div или span.