Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 24.04.2009, 16:13
Dicot
 
Сообщений: n/a

Kolyaj строку то вывести не трудно и даже браузер ето нормально кушает, а вот валидатор - нед
Ответить с цитированием
  #12 (permalink)  
Старый 24.04.2009, 16:35
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Вывод строки на валидатор не влияет. На него влияет то, что Gvozd сказал.
Ответить с цитированием
  #13 (permalink)  
Старый 24.04.2009, 17:13
Dicot
 
Сообщений: n/a

а если html-евский doctype использовать все равно эта cdata нужна?
Ответить с цитированием
  #14 (permalink)  
Старый 24.04.2009, 17:23
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Возникает вопрос, какая ж польза от ентого валидатора акромя вреда
от него только польза вообще-то, по сообщениям валидатора ты бы мог сам разобраться в чем дело
Цитата:
Вы, x-yuri, имели в виду эту строку спецификации
да, и я бы предложил следующие способы, как исправить ситуацию (чтобы валидатор не ругался): '<'+'/script>', '<\/script>'
Цитата:
а если html-евский doctype использовать все равно эта cdata нужна?
нет, http://www.w3.org/TR/xhtml1/#h-4.8
http://www.w3.org/TR/xhtml1/dtds.htm...ict.dtd_script
http://www.w3.org/TR/html401/interac...ml#edef-SCRIPT
p.s. есть подозрение, что ты document.write используешь, так вот лучше его не использовать
Ответить с цитированием
  #15 (permalink)  
Старый 25.04.2009, 14:19
Dicot
 
Сообщений: n/a

<!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" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
    <title>test</title>
  </head>
  <body>
    <script type="text/javascript">
    <![CDATA[
      alert("</script>");
    ]]>
    </script>
  </body>
</html>

- этот текст действительно нравится валидатору, только вот в браузерах отображается неверно (cdata не спасает)
Да, действительно использовал write(). А что в нем плохого?
Мне, например, нужно было создать новое окошко с некоторым содержимым. Если создавать элементы методами DOM - это ж сколько кода...
А если так:
newWin.document.open('text/html');
newWin.document.write(text);
newWin.document.close();

- всего 3 строчки
Ответить с цитированием
  #16 (permalink)  
Старый 25.04.2009, 14:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Dicot
этот текст действительно нравится валидатору, только вот в браузерах отображается неверно
Я вам два раза уже написал. Браузер берет текст скрипта до тега </script>, поэтому его нельзя использовать во внедренных в HTML скриптах.
Ответить с цитированием
  #17 (permalink)  
Старый 25.04.2009, 15:05
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Это кушается на отлично валидатором, оперой и ослом.
второй огнелис запарывается на парсинге.
видимо их движок в меньшей степени расчитан на поддержку XHTML
UPD: Хром тоже нормально работает.третий огнелис не научился адекватно работать
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>тест</title>
<script type="text/javascript">
<!--//<![CDATA[
alert("</script>");
//]]>-->
</script> 
</head>
<body>
</body>
</html>
а вот этот вариант нравится всем:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>тест</title>
<script type="text/javascript">
<!--//<![CDATA[
alert("</scr"+"ipt>");
//]]>-->
</script> 
</head>
<body>
</body>
</html>
Мораль:для кросбраузерности все же надо использовать второй вариант.
Мораль2:про валидатор также не забываем.очень полезный инструмент

Последний раз редактировалось Gvozd, 26.04.2009 в 18:36.
Ответить с цитированием
  #18 (permalink)  
Старый 25.04.2009, 16:25
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Да, действительно использовал write(). А что в нем плохого?
Мне, например, нужно было создать новое окошко с некоторым содержимым. Если создавать элементы методами DOM - это ж сколько кода...
скрипты в body приостанавливают дальнейший рендеринг страницы, смешивается разметка с кодом, часто создают проблемы начинающим. В общем, обычно он ничего хорошего не приносит
но в твоем случае может и оправдано. Хотя можно было для нового окна сделать свою html-страничку и скорректировать ее после загрузки, при этом в твоем скрипте было бы лучше видно, какая информация в него передается (если такая вообще есть)
Ответить с цитированием
  #19 (permalink)  
Старый 25.04.2009, 17:55
Dicot
 
Сообщений: n/a

Gvozd а про то, что cdata надо так хитро прятать в комментарии тоже в спецификации написано?
Ответить с цитированием
  #20 (permalink)  
Старый 25.04.2009, 18:11
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
про то, что cdata надо так хитро прятать в комментарии тоже в спецификации написано?
это есть здесь - Sending XHTML as text/html Considered Harmful
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отменить поведение по умолчанию bool Общие вопросы Javascript 3 06.03.2009 16:59
Непонятное поведение javascript Autosof Общие вопросы Javascript 4 04.09.2008 19:00