De et vers le presse-papier en javascript
Bonjour,
Je cherche à réaliser un petit utilitaire de conversion de texte, qui doit fonctionner sous différents environnements.
J'ai déjà pu réaliser ceci (grâce à votre aide), qui fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Convertisseur</title>
<style type="text/css">
#apDiv1 {
position:absolute;
left:47px;
top:72px;
width:100px;
height:120px;
z-index:1;
background-color: #FFFFFF;
font-size: 36px;
font-family: "MaFonte";
}
body {
background-color: #FFFFFF;
}
</style>
</head>
<body>
<script type='text/javascript'>
function foo(obj){
bar=document.getElementById(obj)
bar.value=bar.value.replace(/^a/g,'$a')
[...]
}
</script>
<div id="apDiv1">
<form id="form1" name="form1" method="post" action="font-family:Caflisch Script, Adobe Poetica, Sanvito, cursive;}">
<pre><label for="MaFonte"></label><textarea name="MaFonte" id="MaFonte" cols="100" rows="40"></textarea> </pre>
</form>
</div>
<input type='button' value='go' onclick="foo('MaFonte')" />
</body>
</html> |
Maintenant, idéalement, je souhaiterais, pour rendre cela le plus transparent possible, réduire mon interface à un simple bouton, en effectuant les traitements depuis et vers le presse-papier (on copie un texte dans une application quelconque, on clique sur le bouton de mon utilitaire javascript, le contenu du presse-papier est traité, puis renvoyé vers le presse-papier pour qu'on n'aie plus qu'à coller à l'emplacement d'origine). Bon, on m'a déconseillé cette approche, à vrai dire, mais je suis têtu, parfois.
En fouinant un peu, j'ai modifié la fin de mon code comme ceci (pour la sortie seulement) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
bar.value=bar.value.replace(/^a/g,'$a')
[...]
var oTextRange = document.getElementById('MaFonte').createTextRange();
oTextRange.execCommand('copy');
}
</script>
<div id="apDiv1">
<form id="form1" name="form1" method="post" action="font-family:Caflisch Script, Adobe Poetica, Sanvito, cursive;}">
<pre><label for="MaFonte"></label><textarea name="MaFonte" id="MaFonte" cols="100" rows="40"></textarea> </pre>
</form>
</div>
<input type='button' value='go' onclick="foo('MaFonte')"/>
</body>
</html> |
Malheureusement, ça ne marche pas : où me gourre-je ? Comment corriger mon code et est-ce que j'ai une chance que ça marche à peu près correctement sur Mac comme sur PC ? Sinon, dîtes-le-moi, je laisse tomber.
Merci d'avance