2013-10-26 3 views
9

Я новичок в разработке сайта и попытаюсь выяснить, как я могу заставить пользователя автоматически копировать код в его/ее мышь (клип-панель) при нажатии на ссылку (используя html, php или javascript). Например, я пытаюсь создать этот персональный сайт, когда пользователь нажимает на ссылку или кнопку на моем веб-сайте, он должен автоматически копировать этот текстовый код на клип-панель. Я видел сайты, как retailmenot.com сделать это: Пример: - enter image description hereСкопируйте текст при щелчке по ссылке или кнопке

Пожалуйста, покажите мне пример, если вы можете


Обновлено:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
</script> 
<script> 


$("#link").click(function(){ 
    var holdtext = $("#clipboard").innerText; 
    Copied = holdtext.createTextRange(); 
    Copied.execCommand("Copy"); 
}); 


</script> 
</head> 
<body> 

<hr> 
<a href="http://www.w3schools.com" style="font-family:arial;color:black;font-size:25px;">Click here to copy the Code</a> <button onclick="copyToClipboard()">Copy Text</button> 
<hr> 

</body> 
</html> 
+0

Я не думаю, что Javascript имеет встроенный способ копирования в/из буфера обмена. Есть несколько флеш-решений. – Barmar

+1

Длинное обсуждение: http://stackoverflow.com/questions/400212/how-to-copy-to-the-clipboard-in-javascript/ –

ответ

0

попробовать это.

$("#link").click(function(){ 
    var holdtext = $("#clipboard").innerText; 
    Copied = holdtext.createTextRange(); 
    Copied.execCommand("Copy"); 
}); 
+0

лучше вы посмотрите http://stackoverflow.com/questions/127040 – Manwal

+0

Это работает только в IE (http://stackoverflow.com/questions/21572682/createtextrange-is-not-woring-in-chrome) – Lego

3

Вот функция, которая может помочь вам или будущему рефереру.

function copyToClipboard(id) { 
    var text = $("#td_id_" + id).text(); //getting the text from that particular Row 
    //window.prompt("Copy to clipboard: Ctrl+C, Enter", text); 
    if (window.clipboardData && window.clipboardData.setData) { 
     // IE specific code path to prevent textarea being shown while dialog is visible. 
     return clipboardData.setData("Text", text); 

    } else if (document.queryCommandSupported && document.queryCommandSupported("copy")) { 
     var textarea = document.createElement("textarea"); 
     textarea.textContent = text; 
     textarea.style.position = "fixed"; // Prevent scrolling to bottom of page in MS Edge. 
     document.body.appendChild(textarea); 
     textarea.select(); 
     try { 
      return document.execCommand("copy"); // Security exception may be thrown by some browsers. 
     } catch (ex) { 
      console.warn("Copy to clipboard failed.", ex); 
      return false; 
     } finally { 
      document.body.removeChild(textarea); 
     } 
    } 
    } 

Единичный тест во всех браузерах не выполнен.

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