<input type = 'hidden'> над html dtd - PullRequest
2 голосов
/ 25 мая 2009

Я знаю, что я должен поместить все html-элементы в тег body, но мне нужно поместить два скрытых ввода выше html dtd. Я думаю, это не делает мой HTML-файл стандартным, но так ли это плохо? У меня есть следующий код.

<input type='hidden' id='current_controller'>
<input type='hidden' id='current_module'>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

что такое риски? пока у меня нет никаких проблем.

Ответы [ 3 ]

4 голосов
/ 25 мая 2009

IIRC рискует, что у IE6 возникнут проблемы с doctype, если это не первая строка. Это также не стандартная практика, и может вызвать причуды в других браузерах (но я считаю, что большинство должно быть прощающим).

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

<input type='hidden' id='current_controller' />
<input type='hidden' id='current_module' />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Есть ли какая-то причина, почему они должны быть там? Почему их нельзя разместить внутри элемента body? Я не вижу реального применения, если у них нет атрибута value, если только вы не проверяете их существование или не добавляете атрибут value через JavaScript (что означает, что вы также можете сами добавить эти элементы через JavaScript ).

2 голосов
/ 25 мая 2009

Если вы фактически используете это как XHTML и, таким образом, запускаете его через анализатор XML, он не будет отображаться, поскольку разметка недопустима.

1 голос
/ 25 мая 2009

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

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

...