Внедрение JavaScript в XHTML

K7
На сайте с 29.01.2008
Offline
0
789

Привет всем! Други, подскажите пожалуйста, как грамотно внедрять JavaScript в XHTML! Никак не получается :( Пробовал и в комментарии заключать, и как <![CDATA... проводить, и во внешний файл скрипт помещать- а воз и ныне там :( Скрипт написан грамотно- меняешь .xhtml на .html, то работает на ура. document.write для вызова времени и даты. Пробовал разные спецификации XHTML,но результат один и тот же :(

K
На сайте с 20.12.2004
Offline
62
#1

гм... я делаю так:

<script type="text/javascript"><!--//--><![CDATA[//><!-- тут код

//--><!]]></script>

Kastorskiy добавил 29.01.2008 в 12:02

А, не сразу понял... у тебя видимо дело не во "внедрении".

Только ты несколько путанно проблему описал.

document.write не хочет работать? Можно innnerHTML, например, вместо него заюзать.

Покажи, код или ссылку, если есть возможность.

Лучше день потерять, а потом за пять минут долететь (c (http://andrey.lviv.ua/)) м/ф "Крылья, ноги, хвост"
K7
На сайте с 29.01.2008
Offline
0
#2

Попробовал сделать как ты советовал

<script type="text/javascript"><!--//--><![CDATA[//><!--Now=new Date();var mpo=Now.getMonth();var mpo1=mpo+1;document.write("<p style='text-align:center;color:red;background-color:blue'>"+"Сегодня "+Now.getDate()+"-"+mpo1+"-"+Now.getFullYear()+"<br/>"+"Вы зашли на сайт в: "+"<br/>"+Now.getHours()+":"+Now.getMinutes()+":"+Now.getSeconds()+"</p">//--><!]]></script>

Но скрипт так и не работает :( глянь пожалуйста в чем причина. Также валидатор ругается, типа "найдено между тегами <."

K
На сайте с 20.12.2004
Offline
62
#3

Для начала переводы строк сделай, как в моём примере.

И потом скажи, какие ошибки.

K7
На сайте с 29.01.2008
Offline
0
#4

Привет! Сделал всё как ты сказал по поводу разбиения строк. Арбузер при проверке выдает такую вот ошибку:

Inline script thread

Error:

name: ReferenceError

message: Statement on line 4: Reference to undefined variable: Now

Backtrace:

Line 4 of inline#1 script in тут адрес страницы

var mpo=Now.getMonth();

Якщо поправди- я тильки нещодавно почав вчити JavaScript :)

K
На сайте с 20.12.2004
Offline
62
#5

Ещё больше склоняюсь к мысли, что всё-таки не во "внедерении" дело.

Ты говорил, для html у тебя работает. Приведи этот РАБОЧИЙ код.

K7
На сайте с 29.01.2008
Offline
0
#6

<script type="javascript">

Now=new Date;

var mpo=Now.getMonth();

var mpo1=mpo+1

document.write("<p style='text-align:center;color:red;background-color:blue'>"+"Сегодня "+Now.getDate()+"-"+mpo1+"-"+Now.getFullYear()+"<br/>"+"Вы зашли на сайт в: "+"<br/>"+Now.getHours()+":"+Now.getMinutes()+":"+Now.getSeconds()+"</p>")</script>

Это .html- вариант.

Коля Дубр
На сайте с 02.03.2005
Offline
153
#7

Друзья, неужели гугль не помогает? :) Смотрим здесь:


Does document.write work in XHTML?
No. Because of the way XML is defined, it is not possible to do tricks like this, where markup is generated by scripting while the parser is still parsing the markup.

You can still achieve the same effects, but you have to do it by using the DOM to add and delete elements.

Кстати, innerHTML кажется тоже не работает. Используйте DOM - оно и правильнее.

Разрабатываю общую шину (http://habrahabr.ru/company/floxim/blog/268467/) помаленьку. ...а еще у меня есть бложек (http://www.blogovo.ru/).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий