Перейти к контенту

не работает мод «цитата»


Рекомендуемые сообщения

у меня стоит мод «цитата» но он не работает в браузерах 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;
}

Ссылка на комментарий
Поделиться на других сайтах

У меня на w2k не встают ни хром, ни сафари, поэтому посмотреть не смогу.

Посмотрите у меня на vesvalo.net в этих браузерах. Кнопка быстрой цитаты есть под каждым сообщением внизу справа - кнопочка со стрелкой вниз.

Если будет работать в этих браузерах - тогда возьмите мои функции.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

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

Ссылка на комментарий
Поделиться на других сайтах

document.REPLIER.Post - ересь

<form name='REPLIER' ...>
...
<textarea ... name="Post" ...>

 

С каких пор обращение к объектной модели документа стало ересью? С тех пор, как НетСкейп довыпендривался с леерами, а его последыши до сих пор из глюков выпутаться не могут и требуют каждому тегу персонаальный айдишник как заключенному в тюрьме?

Ссылка на комментарий
Поделиться на других сайтах

Нашлось решение чуточку проще. :D Сафари и Хром не воспринимают 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. ;)

Изменено пользователем Allure
Ссылка на комментарий
Поделиться на других сайтах

не нравится мне такое обращение)

Дефакто его и вычеркнули. Увы, придется адаптировать старые скрипты к новым глюкам новых браузеров.

 

 

 

window.getSelection тоже надо проверять

Это уже, спасибо Сонгу, сделал через selectionStart и selectionEnd - создателям лисы видать лень было ООП изучать, из пальца методы высасывали.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.