Цитата выделенного через всплывающее окно

Модификации основанные на языке JavaScript.

Скрипты(Огромная галерея скриптов, на любой вкус и цвет)
Степ

Re: Цитата выделенного через всплывающее окно

Степ 22 окт 2014, 14:12 Сообщение

BOJIK, сделал как у вас. Все равно тоже самое. В стиле конечно внес изменения. Кэш чистый как слеза младенца.


Изображение
Как будто что то заставляет ник вставляться в середине, да еще и через строчку.

А если нажать с таким текстом "Отправить", то кривая цитата получается. :mad:
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.

Аватара пользователя
CabinetAdmin

Re: Цитата выделенного через всплывающее окно

CabinetAdmin 22 окт 2014, 14:30 Сообщение

Степ
Напомните, как называется ваш стиль? Попробую.
Может какие особенности стиля, может конфликты с другими скриптами :unknown
Попробуйте на время по удалять некоторые скрипты и проверить.
И удалите совсем:

Код: Выделить всё

<script type="text/javascript" src="http://blife.gtaserv.ru/storage/blife_gtaserv_ru/images/jquery-1.3.2.js"></script>
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Степ

Re: Цитата выделенного через всплывающее окно

Степ 22 окт 2014, 14:43 Сообщение

CabinetAdmin, стиль X-Static. Сынок сабсильвера.
Эту строчку удалил уже.
У меня скрипт стоит, не помню как называется, когда при копировании с моего фора, источник сам пристраивается в конец текста. Я пробовал его убрать - но все равно тоже самое.
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.

Аватара пользователя
CabinetAdmin

Re: Цитата выделенного через всплывающее окно

CabinetAdmin 22 окт 2014, 17:35 Сообщение

Степ
Дело в стиле. Чуть чуть структура вывода ника разная.

В скрипте найдите:

Код: Выделить всё

username = pt.find("b[class='postauthor']:first").text();


и поменяйте на:

Код: Выделить всё

username = pt.find("b[class='postauthor'] a:first").text();
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Степ

Re: Цитата выделенного через всплывающее окно

Степ 22 окт 2014, 17:43 Сообщение

CabinetAdmin, спасибо. Заработало. Если не трудно, объясните, как одна буковка такую проблему нарисовала?
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.

Аватара пользователя
CabinetAdmin

Re: Цитата выделенного через всплывающее окно

CabinetAdmin 22 окт 2014, 19:11 Сообщение

Попробую объяснить.
В чистом subsilver2 код вывода ника выглядит следующим образом:

Код: Выделить всё

<b class="postauthor"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}"<!-- ENDIF -->>{postrow.POST_AUTHOR}</b>

Ник не содержит ссылки. Просто имя в контейнере <b> с классом postauthor.
В вашем стиле:

Код: Выделить всё

<b class="postauthor"> <!-- IF not postrow.U_POST_AUTHOR --> {postrow.POST_AUTHOR} <!-- ELSE --> <a href="{postrow.U_POST_AUTHOR}" <!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR};vertical-align:top" <!-- ENDIF -->>{postrow.POST_AUTHOR}</a> <!-- ENDIF --></b>


Имя, помимо тега <b>, имеет ссылку <a href="{postrow.U_POST_AUTHOR}". Это по типу просильвера. Там ник является ссылкой на профиль.

А скрипт явно указывает на тег <b>:

Код: Выделить всё

username = pt.find("b[class='postauthor']:first").text();

не учитывая, что внутри него находится ссылка. Добавляем в пути скрипта тег a и скрипт понимает где именно содержится имя.

зы. Скорее всего, такую же процедуру надо делать тем, у кого ник вставляется в форму ответа при клике. Модификация быстрого ответа.
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Степ

Re: Цитата выделенного через всплывающее окно

Степ 25 окт 2014, 08:14 Сообщение

CabinetAdmin, и еще маленький вопросик. А можно сделать так, что бы при нажатии кнопки во всплывашке, экран "съезжал" вниз к рамке быстрого ответа? *а так же при нажатии кнопок "Ответить", "Цитировать" и "быстрая цитата"... :pardon:
Если хотите узнать глубину души человека, то плюньте ему в душу и считайте до тех пор,
пока не получите по морде.

Аватара пользователя
CabinetAdmin

Re: Цитата выделенного через всплывающее окно

CabinetAdmin 25 окт 2014, 12:14 Сообщение

Степ » Сегодня, 11:14 писал(а):что бы при нажатии кнопки во всплывашке, экран "съезжал" вниз к рамке быстрого ответа?

В скрипте найти $(this).hide(); и добавить после, с новой строки:

Код: Выделить всё

var target_top = $("#postform").offset().top; $('html, body').animate({scrollTop:target_top}, 500);


Степ » Сегодня, 11:14 писал(а):а так же при нажатии кнопок

Там только для быстрой цитаты. Ведь при клике по ответить или цитата осуществляется переход на страницу постинга.

Для быстрой цитаты, найти:

Код: Выделить всё

<a href="#postform" onclick="addquote({postrow.POST_ID},'{postrow.POSTER_QUOTE}'); insert_text('\r\n'); return false;" title="{L_QUOTE_TEXT}">{L_QUOTE}</a>

и удалить отсюда return false;
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Аватара пользователя
eska

Re: Цитата выделенного через всплывающее окно

eska 15 ноя 2014, 22:01 Сообщение

К ca_forum'у можно прикрутить?
Просто quick_reply у меня нету, а вот quickreply_editor - это одно и тоже?
И я поглядел, библиотека у меня вроде прикручена, так же как и быстрый ответ?

Аватара пользователя
CabinetAdmin

Re: Цитата выделенного через всплывающее окно

CabinetAdmin 15 ноя 2014, 22:28 Сообщение

quickreply_editor, это родной быстрый ответ, обрезанный.
Можно попробовать прикрутить. Я не пробовал, думаю не должно быть проблем.
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Аватара пользователя
eska

Re: Цитата выделенного через всплывающее окно

eska 15 ноя 2014, 22:30 Сообщение

CabinetAdmin » менее минуты назад писал(а):Можно попробовать прикрутить.

То есть чистый шаблон

Код: Выделить всё

quick_reply
добавить?

Аватара пользователя
eska

Re: Цитата выделенного через всплывающее окно

eska 15 ноя 2014, 22:35 Сообщение

В стииле bo2soft он у меня такой:

Код: Выделить всё

[spoiler=]<script type="text/javascript"> // <![CDATA[ $(document).ready(function(){ $("div.postbody").mouseup(function(e){ pt = $(this).parents("table.tablebg"); if (window.getSelection) { theSelection = window.getSelection().toString(); } else if (document.getSelection) { theSelection = document.getSelection(); } else if (document.selection) { theSelection = document.selection.createRange().text; } if (theSelection) { $("#addQuote").remove(); $("body").append('<div id="addQuote" style="left: '+(e.pageX+15)+'px; top: '+(e.pageY+15)+'px;">Цитата</div>'); $("#addQuote").click(function () { $(this).hide(); username = pt.find("b[class='postauthor']:first").text(); insert_text('[quote="' + username + '"]' + theSelection + '[/quote]'); }); $("#addQuote").oneTime(3000, function() { if ($(this).is(':visible')) {$(this).animate({height:0 , opacity:0}, 150)}; }); } }); }); // ]]> </script> <form action="{S_POST_ACTION}" method="post" id="postform" name="postform"{S_FORM_ENCTYPE}> <table class="tablebg" width="100%" cellspacing="1"> <tr> <th colspan="2"><b>{L_QUICK_REPLY}</b></th> </tr> <!-- IF ERROR --> <tr> <td class="row2" colspan="2" align="center"><span class="genmed error">{ERROR}</span></td> </tr> <!-- ENDIF --> <!-- IF S_SHOW_TOPIC_ICONS --> <tr> <td class="row1"><b class="genmed">{L_ICON}:</b></td> <td class="row2"> <table width="100%" cellspacing="0" cellpadding="0" border="0"> <tr> <td><input type="radio" class="radio" name="icon" value="0"{S_NO_ICON_CHECKED} /><span class="genmed">{L_NO_TOPIC_ICON}</span> <!-- BEGIN topic_icon --><span style="white-space: nowrap;"><input type="radio" class="radio" name="icon" value="{topic_icon.ICON_ID}"{topic_icon.S_ICON_CHECKED} /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="" title="" hspace="2" vspace="2" /></span> <!-- END topic_icon --></td> </tr> </table> </td> </tr> <!-- ENDIF --> <!-- IF S_DISPLAY_USERNAME --> <tr> <td class="row1"><b class="genmed">{L_USERNAME}:</b></td> <td class="row2"><input class="post" type="text" tabindex="1" name="username" size="25" value="{USERNAME}" /></td> </tr> <!-- ENDIF --> <tr> <td class="row1" width="22%"><b class="genmed">{L_SUBJECT}:</b></td> <td class="row2" width="78%"><input class="post" style="width:450px" type="text" name="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}" /></td> </tr> <tr> <td class="row1" valign="top"><b class="genmed">{L_MESSAGE_BODY}:</b><br /><span class="gensmall">{L_MESSAGE_BODY_EXPLAIN}&nbsp;</span><br /><br /> <!-- IF S_SMILIES_ALLOWED --> <table width="100%" cellspacing="5" cellpadding="0" border="0" align="center"> <tr> <td class="gensmall" align="center"><b>{L_SMILIES}</b></td> </tr> <tr> <td align="center"> <!-- BEGIN smiley --> <a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;" style="line-height: 20px;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" /></a> <!-- END smiley --> </td> </tr> <!-- IF S_SHOW_SMILEY_LINK --> <tr> <td align="center"><a class="nav" href="{U_MORE_SMILIES}" onclick="popup(this.href, 300, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a></td> </tr> <!-- ENDIF --> </table> <!-- ENDIF --> </td> <td class="row2" valign="top"> <script type="text/javascript"> // <![CDATA[ var form_name = 'postform'; var text_name = 'message'; // ]]> </script> <table width="100%" cellspacing="0" cellpadding="0" border="0"> <!-- INCLUDE posting_buttons.html --> <tr> <td valign="top" style="width: 100%;"><textarea name="message" rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" style="width: 98%;">{MESSAGE}</textarea></td> <!-- IF S_BBCODE_ALLOWED --> <td width="80" align="center" valign="top"> <script type="text/javascript"> // <![CDATA[ colorPalette('v', 7, 6) // ]]> </script> </td> <!-- ENDIF --> </tr> </table> </td> </tr> <tr style="display: {EXTRA_OPTIONS_DISPLAY};"> <td class="row1" valign="top"><b class="genmed">{L_OPTIONS}:</b><br /> <table cellspacing="2" cellpadding="0" border="0"> <tr> <td class="gensmall">{BBCODE_STATUS}</td> </tr> <!-- IF S_BBCODE_ALLOWED --> <tr> <td class="gensmall">{IMG_STATUS}</td> </tr> <tr> <td class="gensmall">{FLASH_STATUS}</td> </tr> <tr> <td class="gensmall">{URL_STATUS}</td> </tr> <tr> <td class="gensmall">{SMILIES_STATUS}</td> </tr> <!-- ENDIF --> </table> </td> <td class="row2"> <table cellpadding="1"> <!-- IF S_BBCODE_ALLOWED --> <tr> <td><input type="checkbox" class="radio" name="disable_bbcode"{S_BBCODE_CHECKED} /></td> <td class="gen">{L_DISABLE_BBCODE}</td> </tr> <!-- ENDIF --> <!-- IF S_SMILIES_ALLOWED --> <tr> <td><input type="checkbox" class="radio" name="disable_smilies"{S_SMILIES_CHECKED} /></td> <td class="gen">{L_DISABLE_SMILIES}</td> </tr> <!-- ENDIF --> <!-- IF S_LINKS_ALLOWED --> <tr> <td><input type="checkbox" class="radio" name="disable_magic_url"{S_MAGIC_URL_CHECKED} /></td> <td class="gen">{L_DISABLE_MAGIC_URL}</td> </tr> <!-- ENDIF --> <!-- IF S_SIG_ALLOWED --> <tr> <td><input type="checkbox" class="radio" name="attach_sig"{S_SIGNATURE_CHECKED} /></td> <td class="gen">{L_ATTACH_SIG}</td> </tr> <!-- ENDIF --> <!-- IF S_NOTIFY_ALLOWED --> <tr> <td><input type="checkbox" class="radio" name="notify"{S_NOTIFY_CHECKED} /></td> <td class="gen">{L_NOTIFY_REPLY}</td> </tr> <!-- ENDIF --> <!-- IF S_LOCK_TOPIC_ALLOWED --> <tr> <td><input type="checkbox" class="radio" name="lock_topic"{S_LOCK_TOPIC_CHECKED} /></td> <td class="gen">{L_LOCK_TOPIC}</td> </tr> <!-- ENDIF --> <!-- IF S_LOCK_POST_ALLOWED --> <tr> <td><input type="checkbox" class="radio" name="lock_post"{S_LOCK_POST_CHECKED} /></td> <td class="gen">{L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</td> </tr> <!-- ENDIF --> </table> </td> </tr> <!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_CODE --> <!-- INCLUDE {CAPTCHA_TEMPLATE} --> <!-- ENDIF --> <!-- IF S_SHOW_ATTACH_BOX --> <tr> <td class="cat" colspan="2" align="center"> <input class="btnlite" type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" /> &nbsp; <input class="btnmain" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" /> </td> </tr> <!-- INCLUDE posting_attach_body.html --> <!-- ENDIF --> <tr> <td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS} <input class="btnlite" type="submit" tabindex="10" name="preview" value="{L_PREVIEW}" /> &nbsp; <input class="btnmain" type="submit" accesskey="s" tabindex="11" name="post" value="{L_SUBMIT}" /> </td> </tr> </table> <br clear="all" /> {S_FORM_TOKEN} </form>[/spoiler]

Аватара пользователя
CabinetAdmin

Re: Цитата выделенного через всплывающее окно

CabinetAdmin 16 ноя 2014, 07:59 Сообщение

Ну если мод быстрого ответа уже стоит, то должно работать. Добавить скрипт не в quick_reply, а в quickreply_editor:

Код: Выделить всё

<script type="text/javascript"> // <![CDATA[ $(document).ready(function(){ $(".postbody").mouseup(function(e){ pt = $(this).parents(".post"); if (window.getSelection) { theSelection = window.getSelection().toString(); } else if (document.getSelection) { theSelection = document.getSelection(); } else if (document.selection) { theSelection = document.selection.createRange().text; } if (theSelection) { $("#addQuote").remove(); $("body").append('<div id="addQuote" style="left: '+(e.pageX+15)+'px; top: '+(e.pageY+15)+'px;">Цитировать</div>'); $("#addQuote").click(function () { $(this).hide(); username = pt.find("p[class='author'] a").text(); insert_text('[quote="' + username + '"]' + theSelection + '[/quote]'); }); $("#addQuote").oneTime(3000, function() { if ($(this).is(':visible')) {$(this).animate({height:0, opacity:0, zIndex:-1}, 150)}; }); } }); }); // ]]> </script>
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект

Аватара пользователя
eska

Re: Цитата выделенного через всплывающее окно

eska 16 ноя 2014, 11:11 Сообщение

Скрипт я вставлю, иидём дальше!
Во

Код: Выделить всё

viewtopic_body.html

У меня этого нету:

Код: Выделить всё

<!-- IF QUICK_REPLY --><a href="#postform" onclick="insert_text('[b]{postrow.POSTER_QUOTE}[/b]\r\n'); return false;"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}" <!-- ENDIF -->>{postrow.POST_AUTHOR}</a><!-- ELSE --><!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF --><!-- ENDIF -->

Но есть это:

Код: Выделить всё

<!-- IF QUICK_REPLY --><a href="#postform" onclick="insert_text('[b]{postrow.POSTER_QUOTE}[/b], '); return false;" title="Обратиться по имени">{L_POST_REPLY}</a><!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->

Аватара пользователя
CabinetAdmin

Re: Цитата выделенного через всплывающее окно

CabinetAdmin 16 ноя 2014, 13:23 Сообщение

eska » Сегодня, 13:11 писал(а):иидём дальше!

Не, не надо. Просто поставить скрипт и посмотреть.
Просто я в скрипте указал чуть другой путь:

Код: Выделить всё

username = pt.find("p[class='author'] a").text();
Создать форум бесплатно на http://luckbb.ru/
Хочешь поблагодарить? Есть способы Поддержать проект



Похожие темы

Вернуться в «JavaScript / jQuery»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя