OVH Cloud OVH Cloud

Presse-papier (unicode)

2 réponses
Avatar
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Bonjour !

Pour copier le contenu d'un textarea dans la pressepapier (clipboard),
j'utilise un code ressemblant à ça :

var tempo=eval("document.form1.nomdutextarea");
tempo.focus();
tempo.select();
selection=tempo.createTextRange();
seltxt=selection.InnerH; // ou htmlText
window.clipboardData.setData('Text', seltxt);

Si cela fonctionne, lorsque l'on a des caractères ascii, dès que l'on a des
caractères unicode, ça ne marche plus. Rien n'est transféré dans le
pressepapier.

Quelqu'un aurait-il une idée de solution ? Pour info, si l'on fait un
"copier" à la main, avec Internet-Explorer, sur un texte unicode, le
transfert dans le pressepapier se fait au format RTF, que je sais analyser à
la sortie. Mais le code que j'ai cité plus haut n'utilise que CF_TEXT, et
rien d'autre.

Merci d'avance, pour toute réponse.

--
Michel Claveau

2 réponses

Avatar
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Bonjour !

Comme je n'ai pas eu de réponse, j'ai modifié le code, pour qu'il envoie une
forme HTMLisée des données :

var tempo=eval("document.form1.nomdutextarea");
tempo.focus();
tempo.select();
selection=tempo.createTextRange();
var txtmp=selection.htmlText;
var txt='';
for (i=0 ; i<=txtmp.length ; i++){
var ccc=txtmp.charCodeAt(i);
if (ccc > 0) txt = txt+"&#"+ccc.toString()+";";
}
window.clipboardData.setData('Text', txt);

Et, je l'autre côté, je décode du HTML. Donc, ça roule.


@-salutations
--
Michel Claveau
Avatar
Pierre Goiffon
"Michel Claveau - abstraction méta-galactique non triviale en fuite
perpétuelle." a
écrit dans le message de news:cigrbi$hr3$
Pour copier le contenu d'un textarea dans la pressepapier (clipboard),
j'utilise un code ressemblant à ça :

var tempo=eval("document.form1.nomdutextarea");
tempo.focus();
tempo.select();
selection=tempo.createTextRange();
seltxt=selection.InnerH; // ou htmlText
window.clipboardData.setData('Text', seltxt);

Si cela fonctionne, lorsque l'on a des caractères ascii, dès que l'on
a des caractères unicode, ça ne marche plus. Rien n'est transféré
dans le pressepapier.


Auriez vous une page exemple pour que l'on reproduise le prb ? Sur quelle
version de navigateur est-ce que ça ne fonctionne pas ? Etc etc...