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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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