Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Изменение содержимого текста при копировани


Автор: wim2405 5.5.2011, 06:05
Решил сделать чтобы при копировании материалов с сайта в конец скопированного добавлялась строчка указывающая откуда был взят текст. Нашел приличное число тем на эту тему, но сделать рабочим под Operу так и не получилось. (под Хромом работает замечательно)
использовал вот такой код:
Код

function addLink()  {    
var body_element = document.getElementsByTagName('body')[0];   
var selection;  
selection = window.getSelection();
var pagelink = "<br /><br /> Источник: xxx Все права защищены &copy 2011";
var copytext = selection + pagelink;  
var newdiv = document.createElement('div');     newdiv.style.position='absolute'; 
newdiv.style.left='-99999px';  
body_element.appendChild(newdiv);
newdiv.innerHTML = copytext;
selection.selectAllChildren(newdiv);
window.setTimeout(function() {        body_element.removeChild(newdiv);   },0);
} document.oncopy = addLink;

Натыкался на тему где описывалась схожая проблема на опере, автор предложил вот такой вариант:
Код

if (window.getSelection) {
     txt = window.getSelection().toString();
  }else if (document.getSelection) {
    txt = document.getSelection();               
  } else if (document.selection) {
    txt = document.selection.createRange().text;
  }


однако и с ним лучше не стало...
Подскажите как быть с оперой smile проверял на Opera 11.10

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)