У некоторых пользователей не работает цитирование

голоса: +2
Стоит у меня на  сайте кнопка цитирования в комментариях:

<a href="javascript://" onclick="Insert('$USERNAME$',document.getSelection());"><span class="reply_a"> Цитировать</span></a>  
<script type="text/javascript">  
function Insert(qname,text){  
  if (text!=""){ qname=qname.replace(/[\[\]]/g, "|"); document.getElementById('message').value += "[quote="+qname+"]"+text+"[/quote]\n"; document.getElementById(wh).focus(); document.getElementById(wh).focus()}  
  else _uWnd.alert('Выделите текст для цитирования','',{w:230,h:80,tm:3000});  
}  
</script>

Работает она по какой-то причине не у всех пользователей, а лишь у "избранных". Совершенно точно она работает у меня, админа, плюс видел, что еще пара пользователей тоже цитировали в комментариях.

С чем может быть связана такая избирательная работоспособность?
| Автор: | Категория: JavaScript

Ответов: 1

голоса: +2
 
Лучший ответ

Метод getSelection() работает только в FireFox и Google Chrome, в Ишаке и Опере он не работает. Для получения выделенного текста в них следует использовать document.selection.createRange().

В общем скрипт не кроссбраузерный.

| Автор:

Как вариант, для решения проблемы замените ссылку "Цитировать" на

<a href="javascript://" onclick="var txt;if(window.getSelection)txt=window.getSelection().toString();else if(document.getSelection)txt=document.getSelection();else if(document.selection)txt=document.selection.createRange().text;Insert('$USERNAME$',txt);"><span class="reply_a"> Цитировать</span></a> 

 

...