Avevo provato la soluzione flash e anche a me non piaceva. Troppo complesso e troppo lento. Quello che ho fatto è stato creare un'area di testo, inserire i dati in quella e utilizzare il comportamento del browser "CTRL + C".
La parte jQuery javascript:
// catch the "ctrl" combination keydown
$.ctrl = function(key, callback, args) {
$(document).keydown(function(e) {
if(!args) args=[]; // IE barks when args is null
if(e.keyCode == key && e.ctrlKey) {
callback.apply(this, args);
return false;
}
});
};
// put your data on the textarea and select all
var performCopy = function() {
var textArea = $("#textArea1");
textArea.text('PUT THE TEXT TO COPY HERE. CAN BE A FUNCTION.');
textArea[0].focus();
textArea[0].select();
};
// bind CTRL + C
$.ctrl('C'.charCodeAt(0), performCopy);
La parte HTML:
<textarea id="textArea1"></textarea>
Ora, metti quello che vuoi copiare in 'METTI IL TESTO DA COPIARE QUI. PUO 'ESSERE UNA FUNZIONE.' la zona. Funziona bene per me me. Devi solo creare una combinazione CTRL + C. L'unico inconveniente è che avrai una brutta area di testo visualizzata nel tuo sito. Se usi style = "display: none" la soluzione di copia non funzionerà.