Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   <!DOCTYPE>+JavaScript+IE (https://javascript.ru/forum/dom-window/24423-doctype-javascript-ie.html)

mgramin 29.12.2011 14:35

<!DOCTYPE>+JavaScript+IE
 
Доброго времени суток. У меня возник вопрос:
Почему если создать HTML страницу без <!DOCTYPE>, плагин jquery.maskedinput-1.2.2 работает НУ ОЧЕНЬ своеобразно(это конечно же происходит под IE). Пример:
<html>
	<head>
	  <title></title>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="jquery.maskedinput-1.2.2.js"></script>

   <script language="JavaScript" type="text/javascript">
	jQuery(function($) {
	$.mask.definitions['H']='[012]';
    $.mask.definitions['M']='[012345]';
    $.mask.definitions['K']='[01]';
    $.mask.definitions['T']='[0123]'; 
    $('#date').mask('T9.K9.2011 H9:M9:M9');
	$('#date_0').mask('T9.K9.2011 H9:M9:M9');

	});	
	</script>
	</head>
	<body>
	<p id="TextArea"> 
	<input id="date" type="text" size="15" VALUE = '01.01.2011 01:01:01'>
	</p>
	</body>
	</html>
Как видно из примера, в поле text вставилось время совершенно отличное от 01.01.2011 01:01:01. Ну и если сделать все тоже самое, только добавить <!DOCTYPE>, все отлично отработает.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
	 
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	  <title></title>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="jquery.maskedinput-1.2.2.js"></script>

   <script language="JavaScript" type="text/javascript">
	jQuery(function($) {
	$.mask.definitions['H']='[012]';
    $.mask.definitions['M']='[012345]';
    $.mask.definitions['K']='[01]';
    $.mask.definitions['T']='[0123]'; 
    $('#date').mask('T9.K9.2011 H9:M9:M9');
	$('#date_0').mask('T9.K9.2011 H9:M9:M9');

	});	
	</script>
	</head>
	<body>
	<p id="TextArea"> 
	<input id="date" type="text" size="15" VALUE = '01.01.2011 01:01:01'>
	</p>
	</body>
	</html>

Подскажите пожалуйста причину данного явления?
_________________________
Заранее спасибо

Skipp 29.12.2011 14:42

А вы не пробовали почитать, что такое doctype и для чего он вообще нужен?

mgramin 29.12.2011 14:53

Конечно пробывал и возникло пара вопросов:
1. Почему это происходит выборочно, (к примеру с этим плагином), а с другими скриптами этого не случается.
2. Почему это происходит только в IE-8 и наверное в предыдущих версиях IE?
То есть получается ,что IE нужно объявлять тип документа, а другие браузеры кушают это так?
Вот мне и хочется узнать в чем причина данного явления.

Seva1986 29.12.2011 15:54

mgramin,


В ослах есть режим совместимости, в который они переходят если нет или не правильный доктайп.

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

А вообще никогда без него не пишите.

FINoM 30.12.2011 02:23

Цитата:

Сообщение от Seva1986
А вообще никогда без него не пишите.

Только <!doctype html> сейчас актуален. HTML 4 — устарел, XHTML — вообще непонятная херь, которой никто не пользуется (для поддержки XHTML нужен миме тип application/xhtml+xml, который никогда не включается из-за IE).

Seva1986 30.12.2011 12:49

FINoM,

Я пишу на строгом xhtml и вынужден писать до тех пор пока не станет ясности между поисковиками и html 5, основная проблема множественные заголовки.

майм тайп можно и обычный ставить text/html, как все и ставят.

Цитата:

Сообщение от FINoM
XHTML — вообще непонятная херь

судя йз строки в про xml и SGML мало слышали.

P.S. Все профи верстальщики сейчас пишут на xhtml 1,0 ну и на html 5 ,а вот на html4 какраз очень мало кто пишет чтото...

FINoM 30.12.2011 14:43

Цитата:

Сообщение от Seva1986
майм тайп можно и обычный ставить text/html, как все и ставят.

Значит вы не пишете на xhtml, вы пишете на html. Без правильного майм тайпа браузер ничего не скажет о нарушениях синтаксиса (парсер-то не XML), и можно писать так:
<INPUT DISABLED TYPE=TEXT>
Цитата:

Сообщение от Seva1986
пока не станет ясности между поисковиками и html 5, основная проблема множественные заголовки.

Поисковики обрабатывают html без проблем. И о каких множественных заголовках тут речь?
Цитата:

Сообщение от Seva1986
судя йз строки в про xml и SGML мало слышали.

Слышал, и что? Всё, что приходит с миме text/html не считается XML, а понтоваться и делать вид, что следуете какой-то строгой спецификации смысла нет.

XHTML существует только на бумаге, никто им никогда не пользовался (может, за небольшим исключением).

Seva1986 31.12.2011 02:38

FINoM,

Я ёщё раз говорю разница есть между html и xhtml, да полностью по xml стандартам нужен application/xhtml+xml, а ещё лучше xhtml1.1 (на нём действительно никто не пишет) но всё равно даже без него xhtml ближе к xml чем html Так <INPUT DISABLED TYPE=TEXT> писать нельзя на xhtml даже с маймом text/html , а на html можно ито не уверен что при строгом доктайпе нормально будет (хотя точно не помню про html).

Никто не понтуется просто в своё время xhtml пришёл на замену html и веб развивался в сторону xhtml2.0 но это не случилось и всё пошло в сторону html5. И соответственно на данный момент последний полностью утверждённый стандарт которыми пользуются это xhtml , а не html если вам интересна разница между ними без майма application/xhtml+xml то это долго писать, вы и без меня найдёте в гугле всё.

Цитата:

Сообщение от FINoM
Поисковики обрабатывают html без проблем. И о каких множественных заголовках тут речь?

А вы разве не в крусе про множественные h1 про несколько заголовков подряд в нутри hgoup и ещё некоторые вещи? Которые поисковики надух не переваривают. Но которые разрешенны в html5. который теже поисковики на данный момент вообще толком не воспринимают, если у Вас есть информация про иследования html5 для seo особенно на счёт того что можно много h1 пихать, поделитесь пожалуйста я буду весьма признателен.

FINoM 31.12.2011 03:07

Цитата:

Сообщение от Seva1986
Так <INPUT DISABLED TYPE=TEXT> писать нельзя на xhtml даже с маймом text/html

Кто запрещает?
Цитата:

Сообщение от Seva1986
полностью утверждённый стандарт которыми пользуются это xhtml

Чем не подходит HTML4? Он не только утвержденный, но и рабочий.
Цитата:

Сообщение от Seva1986
А вы разве не в крусе про множественные h1 про несколько заголовков подряд в нутри hgoup и ещё некоторые вещи? Которые поисковики надух не переваривают.

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

melky 31.12.2011 12:20

Цитата:

Сообщение от Seva1986 (Сообщение 147501)
<INPUT DISABLED TYPE=TEXT> писать нельзя на xhtml даже с маймом text/html

почему нельзя?

кстати, можно было просто оставить <INPUT DISABLED VALUE=NORRIS>


Часовой пояс GMT +3, время: 12:50.