Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.11.2013, 17:18
Интересующийся
Отправить личное сообщение для Giku Посмотреть профиль Найти все сообщения от Giku
 
Регистрация: 03.10.2012
Сообщений: 11

запихнуть код 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 что бы при первом нажатии открывался текст и менялась надпись на '<< Скрыть' а при повторном нажатии сменить надпись ссылки на 'Читать Далее >>' и убрать часть текста
Ответить с цитированием
  #2 (permalink)  
Старый 06.11.2013, 17:45
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Сообщение от Giku Посмотреть сообщение
если пишу его так то между тэгами <script> появляется какая то бойда и код не работает
// ]]>
</script>

Последний раз редактировалось Faab, 06.11.2013 в 18:03. Причина: добавил QUOTE
Ответить с цитированием
  #3 (permalink)  
Старый 06.11.2013, 17:58
Интересующийся
Отправить личное сообщение для Giku Посмотреть профиль Найти все сообщения от Giku
 
Регистрация: 03.10.2012
Сообщений: 11

сделал две ссылки
'Читать Далее >>'
'<< Скрыть'

каждая срывает себя и показывает другую, ну и уже все нужные функции
Ответить с цитированием
  #4 (permalink)  
Старый 06.11.2013, 18:12
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

а скрипт в <script></script> так и не заработал?
Ответить с цитированием
  #5 (permalink)  
Старый 06.11.2013, 20:08
Интересующийся
Отправить личное сообщение для Giku Посмотреть профиль Найти все сообщения от Giku
 
Регистрация: 03.10.2012
Сообщений: 11

между тэгами появляется вот это
// <![CDATA[
тут мой код
// ]]>

вставляется автоматически (видимо какая то защита)
Ответить с цитированием
  #6 (permalink)  
Старый 06.11.2013, 20:13
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

CMS что ли?
Ответить с цитированием
  #7 (permalink)  
Старый 06.11.2013, 21:43
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Giku
// <![CDATA[
тут мой код
// ]]>
И что? Это же всего лишь javascript-комментарии? Не слыхал чтобы комментарии влияли на работоспособность кода ))

alert('работает!');


и
// <![CDATA[
alert('тоже работает!');
// ]]>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 06.11.2013, 21:49
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Да, но откуда эти комментарии? Я думал (и думаю) их генерирует CMS. Если это CMS, то значит скрипт просто подключается не по правилам CMS.
Ответить с цитированием
  #9 (permalink)  
Старый 06.11.2013, 23:35
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от Faab
Да, но откуда эти комментарии? Я думал (и думаю) их генерирует CMS
И пусть себе генерирует, он же не мешает
Видимо, ЦМС древняя, ей никто не рассказал, что уже давно не надо вокруг скрипта такие обертки делать.
Раньше они были нужны, чтоб браузеры, которые не понимают скрипты (всякие Нетскейп Навигатор и прочие древности), не показывали его наружности людям.

Текст помещенный внутри CDATA не парсится и воспринимается как обычная строка. Это позволяет всунуть внутрь тега что угодно (в том числе любой код) и при этом быть уверенным, что парсер не упадет от невалидного кода.

Два слеша ставятся чтобы строку "<![CDATA[" и "]]>" сделать комментарием (при этом эта строка остается валидной с точки зрения парсера), т.к. без слешей это ошибка синтаксиса JavaScript.

Последний раз редактировалось BETEPAH, 06.11.2013 в 23:39.
Ответить с цитированием
  #10 (permalink)  
Старый 07.11.2013, 00:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от BETEPAH
Текст помещенный внутри CDATA не парсится и воспринимается как обычная строка.
Только при разборе XML-парсером. HTML-парсер и знать не знает ни про какие CDATA-секции.

Эти комменты не спасут от отображения древними браузерами. Для этого нужно использовать HTML-комментарии:
<script>
<!--
 doSomething();
// -->
</script>


Обертка же из CDATA позволяет использовать скрипты в XHTML-документах (которые, как правило, никто не использует), чтобы XML-парсер игнорировал тело скрипта.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS AJAX Как получить html страницы "глазами" другого пользователя kolyanok AJAX и COMET 11 18.05.2013 23:00
JS код некоректно работает со стилями zhaaskar Элементы интерфейса 14 13.02.2013 14:59
как привязать ссылку с Html страницы на вынесенный в отдельную папку js скрипт? TIIIMOXAN Общие вопросы Javascript 2 09.11.2009 19:23
Html метки + div + JS boltayka Events/DOM/Window 1 07.09.2009 17:21
JS меню работает на обычной html странице, а на юкозовском движке нет. adware Я не знаю javascript 10 16.05.2009 16:48