Сделай пожалуйста так, чтобы при нажатии кнопки «Цитировать» поле с ответом открывалось само, и если не выделен никакой текст - сообщение вставлялось полностью. Очень удобно было бы для цитирования маленьких сообщений.
Вообще можно написать в тред, он нынче прикреплен.
По сабжу - у меня нет идей как это сделать, но рас так много людей просят, покопаюсь, может и сделаю, к тому же таки кое-какие какие коды nyash давал. Но тогда уже ждите v. 0.2 (0.13 вчера был).
Сделай пожалуйста так, чтобы при нажатии кнопки «Цитировать» поле с ответом открывалось само, и если не выделен никакой текст - сообщение вставлялось полностью. Очень удобно было бы для цитирования маленьких сообщений.
Мои слова повторяешь. Но тогда в тот тред понабежало школоло разного рода и стало говорить о том, как у них в школе делают.
У меня тэгопанель появляется через пару секунд после того, как открывается форма. Все, что я успел написать во время между открытием формы и появлением тэгопанели стирается. С этим можно что-то сделать?
Лучше просто при выделении текста выкидывать менюшку «цитировать». Ну как на хоботе типа или там ещё где это есть. Полностью не надо - все будут оверквотить тогда.
У меня тэгопанель появляется через пару секунд после того, как открывается форма. Все, что я успел написать во время между открытием формы и появлением тэгопанели стирается. С этим можно что-то сделать?
Подобные внезапности надо начинать с указания браузера.
Цитирование всего поста я сделал, будет в новой версии, а вот раскрытие формы не обещаю.
Можете пока поправить у себя локально функцию q (строки 259-277 в последней версии):
window.q = function (){
msg = getObj();
var seltxt = getSelection ();
getQuoteSrc =
function (text, post){
return (
"[quote=" +
(function (){
if (i = post.getElementsByClassName ("sign")[0].getElementsByTagName ("a")[0])
return i.innerHTML;
else return "anonymous";
})() + "]"
+ text.toString ().replace (
/(?:>>-----Цитата---->>|^)(.*)<<-----Цитата----<</,
function (str, p){
if (p!="") return "[quote]" + p + "[/quote]";
else return "";
})
+ "[/quote]");
}
getTextContent =
function (post){
var text = "";
var pTags = post.getElementsByClassName ('msg_body')[0].getElementsByTagName ("p");
for (i=0; i < pTags.length; i++){
text += pTags[i].textContent;
if (i != pTags.length - 1) text += "\n\n";
}
return text;
}
if (seltxt != ""){
var post = seltxt.getRangeAt (0).commonAncestorContainer;
while (post.className != "msg")
post = post.parentNode;
msg.wrtSel (i = addbr (getQuoteSrc (seltxt, post)), i.length);
}
else {
post = this.parentNode.parentNode;
msg.wrtSel (i = getQuoteSrc (getTextContent (post), post), i.length);
}
}
если не выделен никакой текст - сообщение вставлялось полностью
Нельзя так делать никогда: провоцирует оверквотинг, ибо лентяям лень удалять уже отквоченные квоты.
Ты так говоришь, будто это что-то плохое. (как же я умудрился забыть тебе это сказать?)
А нет?
По-моему очень даже нормально выглядит (по крайней мере сейчас, с цитатами палочками), хотя стиль можно и чуть поправить. Но главное - читать удобнее.
Речь-то идет не об удобстве чтения, а об оверквотинге. Просто представь, что каждая цитата выше — это «Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur». Человек — существо ленивое, и если нажмет «цитировать», то уже не будет сильно задумываться об удалении из цитаты лишнего текста, не имеющего никакого отношения к ответу. Не будет задумываться, если не получает по рукам. Так зачем провоцировать оверквотинг и вводить в искушение, если достаточно просто выкинуть из скрипта модальное окошко, «выдели текст цитаты»?