student777 Опубликовано 1 Февраля 2009 Жалоба Поделиться Опубликовано 1 Февраля 2009 у меня стоит мод «цитата» но он не работает в браузерах chrome-е и safari надо править яаваскрипт может кто поможет $poster['ins_q'] = "<a onmouseover=\"copyQ('{$poster['name']}','{$row['q_date']}', '{$row['pid']}');\" href=\"java script:pasteQ();\">«цитата»</a>" яаваскрипт function copyQ(qinf,date,pid) { txt=''; if (document.getSelection) { txt=document.getSelection(); } else if (document.selection) { txt=document.selection.createRange().text; } if (txt.replace(" ","") != "") { txt='[quote name=\''+qinf+'\' date=\''+date+'\' post='+pid+']\n'+txt+'\n[/quote]\n'; } } function pasteQ() { my_show_div(my_getbyid('qr_open')); if (document.REPLIER.Post) document.REPLIER.Post.value += txt; } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 1 Февраля 2009 Жалоба Поделиться Опубликовано 1 Февраля 2009 У меня на w2k не встают ни хром, ни сафари, поэтому посмотреть не смогу.Посмотрите у меня на vesvalo.net в этих браузерах. Кнопка быстрой цитаты есть под каждым сообщением внизу справа - кнопочка со стрелкой вниз.Если будет работать в этих браузерах - тогда возьмите мои функции. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
student777 Опубликовано 1 Февраля 2009 Автор Жалоба Поделиться Опубликовано 1 Февраля 2009 не работает Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 11 Февраля 2009 Жалоба Поделиться Опубликовано 11 Февраля 2009 document.REPLIER.Post - ересь Edited:Предлагаю такой вариант $poster['ins_q'] = "<a href=\"java script:pasteQ('{$poster['name']}','{$row['q_date']}', '{$row['pid']}');\">«цитата»</a>"function pasteQ(qinf,date,pid) { txt=''; if (document.getSelection) { txt=document.getSelection(); } else if (document.selection) { txt=document.selection.createRange().text; } else if ( window.getSelection ) { txt=window.getSelection(); } if (txt.replace(" ","") != "") { txt='[quote name=\''+qinf+'\' date=\''+date+'\' post='+pid+']\n'+txt+'\n[/quote]\n'; } my_show_div(my_getbyid('qr_open')); if(document.getElementById( 'wysiwyg_used' )) { rtewindow.document.body.innerHTML+= txt; rtewindow.focus(); } else if(document.getElementById( 'postcontent' )) { document.getElementById( 'postcontent' ).value+= txt; document.getElementById( 'postcontent' ).focus(); } else if(document.getElementById( 'Post' )) { document.getElementById( 'Post' ).value+= txt; document.getElementById( 'Post' ).focus(); } else if(document.getElementById( 'fast-reply_textarea' )) { document.getElementById( 'fast-reply_textarea' ).value+= txt; document.getElementById( 'fast-reply_textarea' ).focus(); } else if(document.getElementById( 'fastreplyarea' )) { document.getElementById( 'fastreplyarea' ).value+= txt; document.getElementById( 'fastreplyarea' ).focus(); } else { alert('Редактор не найден'); } } и еще надо убедится, что textarea в быстром ответе имеет хотя бы один из перечисленных id Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 11 Февраля 2009 Жалоба Поделиться Опубликовано 11 Февраля 2009 document.REPLIER.Post - ересь<form name='REPLIER' ...> ... <textarea ... name="Post" ...> С каких пор обращение к объектной модели документа стало ересью? С тех пор, как НетСкейп довыпендривался с леерами, а его последыши до сих пор из глюков выпутаться не могут и требуют каждому тегу персонаальный айдишник как заключенному в тюрьме? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 11 Февраля 2009 Жалоба Поделиться Опубликовано 11 Февраля 2009 не нравится мне такое обращение)уж лучше idтам еще одна проблема на самом деле window.getSelection тоже надо проверять Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Allure Опубликовано 11 Февраля 2009 Жалоба Поделиться Опубликовано 11 Февраля 2009 (изменено) Нашлось решение чуточку проще. Сафари и Хром не воспринимают document.getSelection, добавьте для них window.getSelection и не надо будет проверять/дописывать id для textarea в скинах. Примерно так:function copyQ(qinf,date,pid) { txt=''; if (document.getSelection) { txt=document.getSelection() } else if (document.selection) { txt=document.selection.createRange().text; } else if ( window.getSelection ) { txt=window.getSelection(); } if ( txt != '' && txt != null ) { txt='[quote name=\''+qinf+'\' date=\''+date+'\' post='+pid+']\n'+txt+'\n[/quote]\n'; } } Arhar, спасибо за наводку. PS: Я, на всякий случай, уточню, что у меня IPB 2.0.4. Изменено 12 Февраля 2009 пользователем Allure Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 11 Февраля 2009 Жалоба Поделиться Опубликовано 11 Февраля 2009 не нравится мне такое обращение)Дефакто его и вычеркнули. Увы, придется адаптировать старые скрипты к новым глюкам новых браузеров. window.getSelection тоже надо проверятьЭто уже, спасибо Сонгу, сделал через selectionStart и selectionEnd - создателям лисы видать лень было ООП изучать, из пальца методы высасывали. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.