Вопросы на засыпку от “Roman36Liman”
2015-12-03 Дата: Четверг, 03.12.2015, 17:56 | Сообщение # 511
Генерал-майор
Группа: Постоянные
Статус: Offline
Увы, не работает(
Код
<script> /* Цитирование в чате */ function Insert(qname,text){ if (text!=""){ qname=qname.replace(/[\[\]]/g, "|"); paste("[quote="+qname+"]"+text+"[/quote]\n", 0);} else {_uWnd.alert('Выделите текст для цитирования','',{w:230,h:80,tm:3000});}} function paste(text,flag){ if ((document.selection)&&(flag)) {document.getElementById('mchatMsgF').focus();document.getElementById('mchatMsgF').document.selection.createRange().text = text;} else document.getElementById('mchatMsgF').value += text;} function get_selection(){ if(window.getSelection){selection = window.getSelection().toString();} else if(document.getSelection) {selection = document.getSelection();} else{selection = document.selection.createRange().text;} }; /* end */ </script>
Сообщение отредактировал Roman36Liman - Четверг, 03.12.2015, 17:57
2015-12-03 Дата: Четверг, 03.12.2015, 21:18 | Сообщение # 512
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Я даже кнопки не наблюдаю.. --
2015-12-03 Дата: Четверг, 03.12.2015, 23:09 | Сообщение # 513
Генерал-майор
Группа: Постоянные
Статус: Offline
Я даже кнопки не наблюдаю..
Все поставил.. А на это, что скажете? ссылка И вот, ваш скрипт, прописал в верхнюю часть сайта, через src, когда нажимаешь цитировать, цитирование вставляется в поле чата, т.е: а не в комменты. Почему так?
Сообщение отредактировал Roman36Liman - Пятница, 04.12.2015, 03:06
2015-12-04 Дата: Пятница, 04.12.2015, 06:38 | Сообщение # 514
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Код
Метка времени: 04.12.2015 6:15:08 Ошибка: ReferenceError: get_selection is not defined Источник: http://www.fix-rom.ru/mchat/ Строка: 1
Скорее всего, вы поместили скрипт на страницу, а не во фрейм чата.. Воспользовался поиском за вас: Как сделать кнопку цитировать для мини чата? (Добавление кнопки цитировать в мини чат.) Дерзайте.А на это, что скажете? ссылка
Что скажу? Да то, что вы не понимаете что делаете:Бесполезно, не работает даннам форма:
Код
<script> $('#message,#brief').remove(); CKEDITOR.replace( 'message' ); $('#message').replaceWith('<textarea name="message"></textarea>'); </script>
- вы сначала удаляете поле message :Код
$('#message,#brief').remove();
а потом пытаетесь на него что-то повесить:Код
CKEDITOR.replace( 'message' );
- конечно не работает,... Я вам дал не “готовое решение ”, а просто ответил на конкретный вопрос . Ибо для готового решения (скопировал, вставил, пользуешься) , во первых - слишком мало данных, и во вторых я не работаю бесплатно. А готовое решение вашего вопроса - по внедрению стороннего визуального редактора на юкоз - ни много ни мало, самая настоящая работа, с приличными времязатратами. Копать в ту сторону, в которую вам нужно. Если вам нужно удалить поле - код выше . Если нужно заменить на что-то, там тоже есть. По поводу вот этого:Код
CKEDITOR.replace( 'message' );
- на знаю что оно делает, предположительно, заменяет поле на поле редактора. Рекомендую ознакомится с документацией по редактору, хотя бы с основами: http://docs.ckeditor.com/#!/guide/dev_installation , а не лепить вслепую кабы что..Use the CKEDITOR.replace() method to replace the existing <textarea> element with CKEditor.
- Используйте метод CKEDITOR.replace (), чтобы заменить существующее поле на поле с CKEditor. Следовательно,Код
<script type="text/javascript"> CKEDITOR.replace('message'); $('#brief').remove(); </script>
---И вот, ваш скрипт, прописал в верхнюю часть сайта, через src, когда нажимаешь цитировать, цитирование вставляется в поле чата, а не в комменты. Почему так?
Потому что:Цитата
Скажите, а как в мини чате сделать цитату выделением?
Точно так же, как и цитирование в комментариях только id формы поменять на нужное.
Вы поменяли ID поля для комментариев на ID поля для чата.. Соответственно, выделенное будет вставляться в то поле, которое прописано в скрипте - то бишь, в чат.
2015-12-09 Дата: Среда, 09.12.2015, 18:18 | Сообщение # 515
Генерал-майор
Группа: Постоянные
Статус: Offline
Здравствуйте, я тут посидел, подумал, раз форма uCoz не особо "приятная", то я решил реализовать форму так, выбрал "Тип формы по умолчанию для редактирования материалов: Чистый HTML", и нашел в интернете такой код:
Код
<style> [class|="dsspoiler"]{display:none;} </style> <a href="#" onclick="$('.dsspoiler-1').toggle();return false;"> Открыть спойлер </a> <div class="dsspoiler-1"> Здеся то что изначально скрыто </div>
и тут сразу 3 вопроса: 1) Я не особо, а точнее совсем не соображаю в JS, но на взгляд, криворукий код (ИМХО). Сам вопрос. Как его изменить, или сделать новый, чтобы при открытии, появлялась надпись "закрыть"? 2) Как добавить кнопку вот сюда , чтобы получилось типа вот так: чтобы при нажатии на SPOILER вставлялся JS код, который выше? 3) И если немного сложнее, можно как-то вставлять стандартный код Код
[spoiler=TITLE]содержимое[/spoiler]
и чтобы он преобразовывался в спойлер? (это не столь важно, просто спросил, для удобства)
Сообщение отредактировал Roman36Liman - Среда, 09.12.2015, 18:20
2015-12-10 Дата: Четверг, 10.12.2015, 22:31 | Сообщение # 516
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Roman36Liman , но на взгляд, криворукий код (ИМХО)
Добрый) Да, код не то что бы криворукий, а просто ппц. Кому такое вообще могло в голову придти.Как его изменить, или сделать новый, чтобы при открытии, появлялась надпись "закрыть"?
Типа так:Код
<div class="spoiler-wrap"> <a class="spoiler-button" href="javascript://">Открыть спойлер</a> <div class="spoiler-body" style="display:none;">Здесь располагается содержимое class "spoiler-body"</div> </div> <script type="text/javascript"> $('.spoiler-button').click(function(){ var e=this,cont = $('.spoiler-body',e.parentNode); if(cont.is(':visible')){ e.innerHTML='Открыть спойлер'; cont.hide(); }else{ e.innerHTML='Закрыть спойлер'; cont.show(); } }); </script>
2) Как добавить кнопку вот сюда
Так:Код
<script type="text/javascript"> $('#addEntForm #bc3').each(function(){ var id = (this.innerHTML.indexOf('brief')!=-1)?'brief':'message', but='<div class="spoiler-wrap"><a class="spoiler-button" href="javascript://">Открыть спойлер</a><div class="spoiler-body" style="display:none;">Здесь располагается содержимое class "spoiler-body"</div></div>'; $(this).after('<span id="bc99" style="padding-right:1px;"><input type="button" style="width:20px;text-decoration:underline" id="spoiler" class="codeButtons" onclick="emoticon(but,\''+id+'\');" value="spoiler" title="spoiler"></span>'); }); </script>
И если немного сложнее, можно как-то вставлять стандартный код
Примерно так же:Код
<script type="text/javascript"> $('#addEntForm #bc3').each(function(){ var id = (this.innerHTML.indexOf('brief')!=-1)?'brief':'message'; $(this).after('<span id="bc34" style="padding-right:1px;"><input type="button" id="spoiler" style="width:40px;" class="codeButtons" onclick="simpletag(\'spoiler\',\'\',\'\',\''+id+'\',\'\')" value="spoiler" title="Spoiler"></span>'); }); </script>
и чтобы он преобразовывался в спойлер?
Должно, либо быть включены BB коды при добавлении, либо на странице подключать свой парсер bb кодов .. либо автоматически преобразовывать в html при добавлении - скриптом.
2015-12-11 Дата: Пятница, 11.12.2015, 20:13 | Сообщение # 517
Генерал-майор
Группа: Постоянные
Статус: Offline
Извините, если что не так, но:Так:
Код
<script type="text/javascript"> $('#addEntForm #bc3').each(function(){ var id = (this.innerHTML.indexOf('brief')!=-1)?'brief':'message', but='<div class="spoiler-wrap"><a class="spoiler-button" href="javascript://">Открыть спойлер</a><div class="spoiler-body" style="display:none;">Здесь располагается содержимое class "spoiler-body"</div></div>'; $(this).after('<span id="bc99" style="padding-right:1px;"><input type="button" style="width:20px;text-decoration:underline" id="spoiler" class="codeButtons" onclick="emoticon(but,\''+id+'\');" value="spoiler" title="spoiler"></span>'); }); </script>
Почему то не работает( Вставлял до $BODY$, после, и перед <body>Примерно так же:
Код
<script type="text/javascript"> $('#addEntForm #bc3').each(function(){ var id = (this.innerHTML.indexOf('brief')!=-1)?'brief':'message'; $(this).after('<span id="bc34" style="padding-right:1px;"><input type="button" id="spoiler" style="width:40px;" class="codeButtons" onclick="simpletag(\'spoiler\',\'\',\'\',\''+id+'\',\'\')" value="spoiler" title="Spoiler"></span>'); }); </script>
И это тоже не работает, а точнее не появляется кнопка в bb панели( P.S. а за первый код, огромное спасибо) P.S.2 и модуль я использую "Онлайн игры", если это важно)
Сообщение отредактировал Roman36Liman - Пятница, 11.12.2015, 20:15
2015-12-11 Дата: Пятница, 11.12.2015, 21:29 | Сообщение # 518
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Почему то не работает( Вставлял до $BODY$, после, и перед <body>
Вставлять нужно после $BODY$ в шаблон Страница добавления/редактирования материала. Попробуйте так:Код
<script type="text/javascript"> function addSpoiler(id){ var but='<div class="spoiler-wrap"><a class="spoiler-button" href="javascript://">Открыть спойлер</a><div class="spoiler-body" style="display:none;">Здесь располагается содержимое class "spoiler-body"</div></div>'; emoticon(but,id); }; $('#addEntForm #bc3').each(function(){ var id = (this.innerHTML.indexOf('brief')!=-1)?'brief':'message'; $(this).after('<span id="bc99" style="padding-right:1px;"><input type="button" style="width:20px;text-decoration:underline" id="spoiler" class="codeButtons" onclick="addSpoiler(\''+id+'\');" value="spoiler" title="spoiler"></span>'); }); </script>
И это тоже не работает, а точнее не появляется кнопка в bb панели(
Данный код у меня работает.а точнее не появляется кнопка в bb панели(
Проверьте наличие addEntForm на странице, и кнопки с ID bc3 . ---
2015-12-12 Дата: Суббота, 12.12.2015, 00:36 | Сообщение # 519
Генерал-майор
Группа: Постоянные
Статус: Offline
Проверьте наличие addEntForm на странице, и кнопки с ID bc3.
У меня немного иначе Т.е. надо переделать вот так?Код
<script type="text/javascript"> function addSpoiler(id){ var but='<div class="spoiler-wrap"><a class="spoiler-button" href="javascript://">Открыть спойлер</a><div class="spoiler-body" style="display:none;">Здесь располагается содержимое class "spoiler-body"</div></div>'; emoticon(but,id); }; $('#addEntForm #hbc3').each(function(){ var id = (this.innerHTML.indexOf('brief')!=-1)?'brief':'message'; $(this).after('<span id="hbc99" style="padding-right:1px;"><input type="button" style="width:20px;text-decoration:underline" id="spoiler" class="codeButtons" onclick="addSpoiler(\''+id+'\');" value="spoiler" title="spoiler"></span>'); }); </script>
P.S. работает, спасибо) вот как получилось: P.S.2. но не открывается спойлер после добавления: P.S.3. ааа, тк скрипта то нет)
Сообщение отредактировал Roman36Liman - Суббота, 12.12.2015, 01:11
2015-12-12 Дата: Суббота, 12.12.2015, 01:29 | Сообщение # 520
Генерал-майор
Группа: Постоянные
Статус: Offline
Скажите, вот такой скрипт:
Код
<script type="text/javascript"> $('#addEntForm #hbc3').each(function(){ var id = (this.innerHTML.indexOf('brief')!=-1)?'brief':'message'; $(this).after('<span id="hbc34" style="padding-right:1px;"><input type="button" id="spoiler" style="width:40px;" class="codeButtons" onclick="simpletag(\'spoiler\',\'\',\'\',\''+id+'\',\'\')" value="spoiler" title="Spoiler"></span>'); }); </script>
он вставляет , как этот на странице "Странице материала и комментария к нему", преобразовать в это:
Код
<div class="spoiler-wrap"> <a class="spoiler-button" href="javascript://">Открыть спойлер</a> <div class="spoiler-body" style="display:none;">Здесь располагается содержимое class "spoiler-body"</div> </div> <script type="text/javascript"> $('.spoiler-button').click(function(){ var e=this,cont = $('.spoiler-body',e.parentNode); if(cont.is(':visible')){ e.innerHTML='Открыть спойлер'; cont.hide(); }else{ e.innerHTML='Закрыть спойлер'; cont.show(); } }); </script>
И самый главный вопрос, на странице добавления я добавил это:
Код
<script type="text/javascript"> function addSpoiler(id){ var but='<div class="spoiler-wrap"><a class="spoiler-button" href="javascript://">Открыть спойлер</a><div class="spoiler-body" style="display:none;">Здесь располагается содержимое class "spoiler-body"</div></div>'; emoticon(but,id); }; $('#addEntForm #hbc3').each(function(){ var id = (this.innerHTML.indexOf('brief')!=-1)?'brief':'message'; $(this).after('<span id="hbc99" style="padding-right:1px;"><input type="button" style="width:20px;text-decoration:underline" id="spoiler" class="codeButtons" onclick="addSpoiler(\''+id+'\');" value="spoiler" title="spoiler"></span>'); }); </script>
а на странице материала и комменту к нему, это:
Код
<script type="text/javascript"> $('.spoiler-button').click(function(){ var e=this,cont = $('.spoiler-body',e.parentNode); if(cont.is(':visible')){ e.innerHTML='Открыть спойлер'; cont.hide(); }else{ e.innerHTML='Закрыть спойлер'; cont.show(); } }); </script>
по моей логике, спойлер, а точнее div сlass который добавил скрипт, на странице скачивания, скрипт, который должен открывать этот спойлер, но он его не открывает, почему так? P.S. не хочу весь код скрипта и div class'а вставлять в одну строку, это же колхозно) А именно, я имею ввиду это:
Сообщение отредактировал Roman36Liman - Суббота, 12.12.2015, 01:57
2015-12-12 Дата: Суббота, 12.12.2015, 17:22 | Сообщение # 521
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Roman36Liman , но не открывается спойлер после добавления:
Ну так что, разобрался, работает?как этот на странице "Странице материала и комментария к нему", преобразовать в это:
Скрипт не нужно дублировать с каждым спойлером - его вставляю один раз в шаблон где должен работать спойлер.он вставляет
, как этот на странице "Странице материала и комментария к нему", преобразовать в это
Только так:подключать свой парсер bb кодов..
или:автоматически преобразовывать в html при добавлении - скриптом
Готового, как понимаете, нет..но он его не открывает, почему так?
Без понятия. Ссылку дайте на такой материал.не хочу весь код скрипта и div class'а вставлять в одну строку, это же колхозно)
Что вы имеете в виду? Что бы присутствовала табуляция в форме и переносы строк? Перенос строки - “\n”, табуляция - “\t”. То бишь, вот тут:Код
var but='<div class="spoiler-wrap"><a class="spoiler-button" href="javascript://">Открыть спойлер</a><div class="spoiler-body"...
вот так:Код
var but='<div class="spoiler-wrap">\n\t<a class="spoiler-button" href="javascript://">Открыть спойлер</a>\n\t\t<div class="spoiler-body"...
и так далее..
2015-12-13 Дата: Воскресенье, 13.12.2015, 14:50 | Сообщение # 522
Генерал-майор
Группа: Постоянные
Статус: Offline
Ссылку дайте на такой материал.
Вот ссылка автоматически преобразовывать в html при добавлении - скриптом
А как это реализовать? Просто не хочу включать bb коды, т.к. при редактировании, все постоянно добавляет <br>, и отображение не корректное.
2015-12-14 Дата: Понедельник, 14.12.2015, 07:52 | Сообщение # 523
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Скрипты вставляются ПОСЛЕ элементов к которым привязаны. Всегда. Скриптом, на подобие этого: Как сделать свои BB-коды для форума т.к. при редактировании, все постоянно добавляет <br>, и отображение не корректное.
Там есть галочка: Заменять переводы строк тегом <BR> ..
2015-12-14 Дата: Понедельник, 14.12.2015, 16:06 | Сообщение # 524
Генерал-майор
Группа: Постоянные
Статус: Offline
Там есть галочка: Заменять переводы строк тегом <BR>..
А как по умолчанию убрать галочку и + вообще убрать из панели?
2015-12-14 Дата: Понедельник, 14.12.2015, 16:42 | Сообщение # 525
Аццкий кодер
Группа: Администраторы
Статус: Unknown
А как по умолчанию убрать галочку и + вообще убрать из панели?
Полагаю, у элемента есть класс или идентификатор, атрибут name на крайняк .. по нему, как вариант.