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

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


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

у меня стоит мод «цитата» но он не работает в браузерах 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 - создателям лисы видать лень было ООП изучать, из пальца методы высасывали.

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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