Показать сообщение отдельно
  #5 (permalink)  
Старый 12.08.2013, 03:09
Интересующийся
Посмотреть профиль Найти все сообщения от moskitos80
 
Регистрация: 11.08.2013
Сообщений: 28

Боюсь, код вашего скрипта не кросс-браузерный, хотя может я ошибаюсь. Вот переделал ваш скрипт, теперь вы можете вызвать ф-цию addLink, передав ей имя нужного класса элементов.

<!doctype html>
<html>
<head>
    <title>;)</title>
    <meta charset="utf-8">
    <style type="text/css"></style>	
</head>
<body>

    <div class="text1">Этот текст скопируется без ссылки</div>
    <div class="text2">И этот текст скопируется без ссылки</div>
    <div class="my_text">А этот текст скопируется со ссылкой</div>
    
    <script type="text/javascript">
    
    // Определение ф-ции
    var addLink = (function (G) {    
        return function (targetClass) {    
        
            G.document.oncopy = function () {
            
                var body_element    = document.body,
                    selection       = window.getSelection(),
                    pagelink        = "<br/>Источник: " + window.location,
                    copytext        = selection + pagelink,
                    newdiv          = document.createElement('div');
                    
                if (selection.anchorNode.parentNode && 
                    selection.anchorNode.parentNode.className && 
                    selection.anchorNode.parentNode.className !== targetClass) {
                    return;
                }        

                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);
            };
        };
    } (this));
    
    // Вызов.
    // Вызывать 1 раз на странице! 
    // Передавать имя класса элементов, при копировании из которых нужно
    // Вставлять ссылку.
    addLink("my_text"); 

    </script>
</body>
</html>
Ответить с цитированием