запихнуть код js в тэг html
адинистрирую сайт черер кмс
есть код
<script language="JavaScript" type="text/javascript">
var objtext = document.getElementById('textinfo');
var objlink = document.getElementById('link');
function more(flag){
if (flag==1){
objtext .innerHTML =' много текста ';
objlink.innerHTML ='<< Скрыть';
document.getElementById('link').onclick=function(){ more(2);}
}
else {
objtext .innerHTML =' мало текста';
objlink.innerHTML ='Читать Далее >>';
document.getElementById('link').onclick=function(){ more(1);}
}
}
</script>
но если пишу его так то между тэгами <script> появляется какая то бойда и код не работает <script language="JavaScript" type="text/javascript">// <![CDATA[ тут мой код // ]]></script> зато работает вот так <a onclick="javascript: и тут вписать нужный код" id="link"> что нужно вписать туда чтобы не обращаться к внешнему коду js что бы при первом нажатии открывался текст и менялась надпись на '<< Скрыть' а при повторном нажатии сменить надпись ссылки на 'Читать Далее >>' и убрать часть текста |
Цитата:
// ]]> </script> |
сделал две ссылки
'Читать Далее >>' '<< Скрыть' каждая срывает себя и показывает другую, ну и уже все нужные функции |
а скрипт в <script></script> так и не заработал?
|
между тэгами появляется вот это
// <![CDATA[ тут мой код // ]]> вставляется автоматически (видимо какая то защита) |
CMS что ли?
|
Цитата:
alert('работает!');
и
// <![CDATA[
alert('тоже работает!');
// ]]>
|
Да, но откуда эти комментарии? Я думал (и думаю) их генерирует CMS. Если это CMS, то значит скрипт просто подключается не по правилам CMS.
|
Цитата:
Видимо, ЦМС древняя, ей никто не рассказал, что уже давно не надо вокруг скрипта такие обертки делать. Раньше они были нужны, чтоб браузеры, которые не понимают скрипты (всякие Нетскейп Навигатор и прочие древности), не показывали его наружности людям. Текст помещенный внутри CDATA не парсится и воспринимается как обычная строка. Это позволяет всунуть внутрь тега что угодно (в том числе любой код) и при этом быть уверенным, что парсер не упадет от невалидного кода. Два слеша ставятся чтобы строку "<![CDATA[" и "]]>" сделать комментарием (при этом эта строка остается валидной с точки зрения парсера), т.к. без слешей это ошибка синтаксиса JavaScript. |
Цитата:
Эти комменты не спасут от отображения древними браузерами. Для этого нужно использовать HTML-комментарии: <script> <!-- doSomething(); // --> </script> Обертка же из CDATA позволяет использовать скрипты в XHTML-документах (которые, как правило, никто не использует), чтобы XML-парсер игнорировал тело скрипта. |
ну я не силен в программирование, думал что это какая то защита, просто у меня не работал (может какую то ошибку допустил - не спорю)
сделал так <a id="link1" onclick="javascript: my code"></a> может не совсем правильно, но работает и я рад. надо было наверно поэкспериментировать с алертами. буду пробовать. всем спасибо! |
| Часовой пояс GMT +3, время: 17:36. |