2016-02-10 3 views
-6

Я добавил Javascript Добавить ссылку на копию в моем блоге, значит, когда кто-то скопирует текст с моего сайта, он также скопирует URL-адрес почтового ящика и добавит больше тега, поэтому я хочу изменить этот скрипт, и сделайте это так, когда кто-то скопирует минимум 20 символов, тогда этот код скопирует больше тега в буфер обмена, если пользователь будет копировать менее 20 слов, тогда этот скрипт не должен работать. поэтому, если кто-то может это сделать, это будет очень полезно. БлагодаряJavascript Добавить ссылку на копию

Оригинал сценария -

<script type="text/javascript"> 
function addLink() { 
    var body_element = document.getElementsByTagName('body')[0]; 
    var selection; 
    selection = window.getSelection(); 
    var pagelink = "<br /><br /> Read more at: <a href='"+document.location.href+"'>"+document.location.href+"</a><br />"; // change this if you want 
    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; 
</script> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
</script> 

ответ

-2

Попробуйте это. Всякий раз, когда длина выделения меньше 20, функция вернет выделение.

<script type="text/javascript"> 
function addLink() { 
    var body_element = document.getElementsByTagName('body')[0]; 
    var selection; 
    selection = window.getSelection(); 
    if(selection.toString().length<20) 
    { 
     return selection; 
     } 
    var pagelink = "<br /><br /> Read more at: <a href='"+document.location.href+"'>"+document.location.href+"</a><br />"; // change this if you want 
    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; 
</script> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
</script> 
+0

Hi Sooraj Chandran, Спасибо за ответ, но после использования вашего кода, когда я копирую менее 20 символов с сайта, он даже не копирует 20 символов. Поэтому, пожалуйста, измените его, чтобы он мог копировать менее 20 символов, но если вы попытаетесь скопировать более 20 символов, тогда отобразите больше тега. –

+0

Я отредактировал код. Пожалуйста, проверьте сейчас. –

+0

Спасибо, тонна чувак. вы сделали мой день –

Смежные вопросы