Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Как обьявить !DOCTYPE? (https://javascript.ru/forum/css-html-internet-explorer/15688-kak-obyavit-doctype.html)

PNikolai 09.03.2011 17:44

Как обьявить !DOCTYPE?
 
Здравствуйте, как объявить !DOCTYPE посредством javascript, кто может подсказать?

document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">');

не пашет.

dmitriymar 09.03.2011 18:18

PNikolai,
это жутко оригинально !DOCTYPE объявлять скриптом. для чего сие действо?

Matre 09.03.2011 18:18

:)
Не используйте DOCTYPE, если не знаете его назначение.
Он для валидатора, а валидатор не сильно утруждает себя чтением JS.

PNikolai 09.03.2011 19:37

есть один яваскриптик, который подгружает на сайт рекламу.
т.е. на страницу устанавливается код со стороннего сервера:
<script src="http://domain.**/file.js"></script>

На сайтах где присутствует !DOCTYPE, отображается этот рекламный блок нормально во всех браузерах. Где его нет, в експлорере все плывет. Просить вебмастеров прописывать !DOCTYPE на своих сайтах не реально, да и не правильно. Как сделать чтобы сам скрипт нес в себе этот заголовок? Или как еще по другому можно это исправить?

Aetae 09.03.2011 19:51

Лол, просить не правильно, а в ручную, не спросив, ставить - труъ?)
Те, кто не ставит doctype - отнюдь не "веб-мастера", и даже не веб-дилетанты. Если ваш скрипт должен работать с таким контингентом - потрудитесь сверстать его результат универсально.

PNikolai 09.03.2011 20:37

И все же,возвращаемся к моему вопросу...
Реально вообще реализовать то о чем я писал выше, или нет?

Aetae 09.03.2011 21:07

Нет.

Kolyaj 09.03.2011 21:11

Цитата:

Сообщение от Matre
Не используйте DOCTYPE, если не знаете его назначение.
Он для валидатора, а валидатор не сильно утруждает себя чтением JS.

Вам бы не мешало самому узнать назначение doctype.

PNikolai 09.03.2011 21:34

А возможно объявить его с помощью php?

Aetae 09.03.2011 23:01

facepalm.jpg
Нет, я категорически не могу объяснить существу ваших знаний почему сахар не солёный.

dmitriymar 09.03.2011 23:07

PNikolai,
блин да загружай свой скрипт в фрейм страницей со своим DOCTYPE

PNikolai 10.03.2011 06:58

Цитата:

Сообщение от dmitriymar (Сообщение 95804)
PNikolai,
блин да загружай свой скрипт в фрейм страницей со своим DOCTYPE

фрейм не подходит, размер блока динамичный.
есть еще какие нибудь варианты?

PNikolai 10.03.2011 07:12

Цитата:

Сообщение от Aetae (Сообщение 95803)
facepalm.jpg
Нет, я категорически не могу объяснить существу ваших знаний почему сахар не солёный.

Мне как-то встречалась пользовательская функция на php, которая с прочими заголовками передавала DOCTYPE. Не могу вспомнить где я это видел, по поиску тоже пока не нашел.

dmitriymar 10.03.2011 09:17

Цитата:

Сообщение от PNikolai
Мне как-то встречалась пользовательская функция на php, которая с прочими заголовками передавала DOCTYPE. Не могу вспомнить где я это видел, по поиску тоже пока не нашел.

ты причём со своим рнр к коду их страниц?

PNikolai 10.03.2011 11:23

Цитата:

Сообщение от dmitriymar (Сообщение 95843)
ты причём со своим рнр к коду их страниц?

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

Kolyaj 10.03.2011 12:00

Цитата:

Сообщение от PNikolai
не понял вопроса, в общем-то это не важно..

Вопрос в том, что вы говорите бред.

Цитата:

Сообщение от PNikolai
есть еще какие нибудь варианты?

Вам уже написали единственно возможный вариант.
Цитата:

Сообщение от Aetae
потрудитесь сверстать его результат универсально.


PNikolai 10.03.2011 14:11

Цитата:

Сообщение от dmitriymar (Сообщение 95843)
ты причём со своим рнр к коду их страниц?

Цитата:

Сообщение от Kolyaj (Сообщение 95860)
Вопрос в том, что вы говорите бред.


Вам уже написали единственно возможный вариант.

Если я правильно понимаю, <!DOCTYPE> передает браузеру стандарт html документа. В php с помощью функции headers() можно также многое передать браузеру, например, должна ли страница кешироватъся или нет, и т.д. Так вот.. Я и не упускал мысли что можно передать браузеру <!DOCTYPE> как нибудь по другому. В яве я не силен, по этому и спросил что можно еще сделать. А теперь объясни мне, где в моих словах ты увидел бред. И про то, что мне следует заняться версткой, писать не надо.

Kolyaj 10.03.2011 14:24

Как PHP, генерирующий страницу, связан с вашим JS-скриптом?

PNikolai 10.03.2011 15:00

Цитата:

Сообщение от Kolyaj (Сообщение 95887)
Как PHP, генерирующий страницу, связан с вашим JS-скриптом?

PHP и генерирует JS-скрипт. Кстати все это дело находится на выделенном сервере, т.е. все настройки в моих руках.

Kolyaj 10.03.2011 15:17

Цитата:

Сообщение от PNikolai
PHP и генерирует JS-скрипт.

Страницу-то он не генерирует.

PNikolai 10.03.2011 16:33

Цитата:

Сообщение от Kolyaj (Сообщение 95903)
Страницу-то он не генерирует.

Страницу он и генерирует. И вроде виджета подгружается уже в страницу другого сайта.

document.write('страница');

PNikolai 10.03.2011 17:00

Ладно, давай лучше по другому объясню..

Есть сервер А, на котором находится скрипт php (file.php), который в свою очередь генерирует html страницу и выдает её через document.write('страница');

Далее есть сервер Б на котором размещена статичная html страница, имеющая в себе такой код - <script src="http://сервер-А.**/file.php"></script>

Так вот, когда на странице Б прописан !DOCTYPE, виджет с сервера А отображается как положено, если не прописан, то div-ы съезжают.

Отсюда и возник вопрос, возможно ли, чтобы сам виджет нес с собой !DOCTYPE, и блок отображался корректно в независимости от того, прописан !DOCTYPE на странице Б, или нет?

Забыл добавить, что такая проблема возникает только в експлорере.

Aetae 10.03.2011 17:10

http://javascript.ru/forum/css-html-...html#post95771

dmitriymar 10.03.2011 17:33

Цитата:

Сообщение от PNikolai
Страницу он и генерирует. И вроде виджета подгружается уже в страницу другого сайта.

не генерирует он страницу.он у тебя генерирует элемент включаемый в ЧУЖУЮ СТРАНИЦУ

PNikolai 10.03.2011 17:47

Цитата:

Сообщение от dmitriymar (Сообщение 95928)
не генерирует он страницу.он у тебя генерирует элемент включаемый в ЧУЖУЮ СТРАНИЦУ

Ок, нет так нет..

poorking 10.03.2011 18:30

PNikolai,
Цитата:

Сообщение от PNikolai
если не прописан, то div-ы съезжают.

https://developer.mozilla.org/en/DOM/document.doctype
Это свойство только для чтения, если уж совсем невтерпеж, можно в скрипте узнавать есть ли доктайп и какой, или нет, и в соответствием с этим вносить изменение чтобы ваши дивы не съезжали, но мне кажется это плохое решение, нужно сделать скрип кроссбраузерным


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