J'avais essayé la solution flash et je n'aimais pas trop. Trop complexe et trop lent. Ce que j'ai fait, c'est créer une zone de texte, y mettre les données et utiliser le comportement "CTRL + C" du navigateur.
La partie javascript jQuery:
// 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 partie HTML:
<textarea id="textArea1"></textarea>
Maintenant, mettez ce que vous voulez copier dans 'METTRE LE TEXTE À COPIER ICI. PEUT ÊTRE UNE FONCTION. '' zone. Fonctionne bien pour moi moi. Il vous suffit de créer une combinaison CTRL + C. Le seul inconvénient est que vous allez avoir une zone de texte laide affichée sur votre site. Si vous utilisez le style = "display: none", la solution de copie ne fonctionnera pas.