Envoyer une séquence de touches depuis Javascript

Le
adalbert
Bonjour à tous,

J'essaye d'envoyer une séquences de touches (ex: CTRL+v) sur un <span>
contenteditable="true" depuis une fonction Javascript et ce en
Firefox.

Une idée ?

Merci d'avance,
Ad
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal PONCET
Le #18274081
adalbert a écrit :
Bonjour à tous,



Bonjour,

J'essaye d'envoyer une séquences de touches (ex: CTRL+v) sur un <span>
contenteditable="true" depuis une fonction Javascript et ce en
Firefox.



Et récupérer le presse-papier, puis déclencher la webcam aussi ?

Une idée ?



Oui : j'espère bien que ça ne sera jamais possible !

Merci d'avance,



Pas de quoi, big brother ;-)

Ad



Pascal
adalbert
Le #18274111
On 2 jan, 12:42, Pascal PONCET
adalbert a écrit :

> Bonjour à tous,

Bonjour,

> J'essaye d'envoyer une séquences de touches (ex: CTRL+v) sur un <span >
> contenteditable="true"  depuis une fonction Javascript et ce en
> Firefox.

Et récupérer le presse-papier, puis déclencher la webcam aussi ?

> Une idée ?

Oui : j'espère bien que ça ne sera jamais possible !

> Merci d'avance,

Pas de quoi, big brother ;-)

> Ad

Pascal



J'attendais plutôt une réponse censée. Je travaille sur un projet
sérieux qui a besoin d'effectuer un CTRL+v depuis une fonction
Javascript; et big brother n'a rien à avoir avec le presse papier, il
ne faut pas tout mélanger.
Méta-MCI \(MVP\)
Le #18277661
Bonsoir !

C'est possible avec IE, en local (ça ne passera pas, depuis Internet).
Je doute que FF offre cette possibilité.

@+
--
MCI
Pascal PONCET
Le #18277791
adalbert a écrit :
J'attendais plutôt une réponse censée.



Censée quoi ? Ah...sensée !

Je travaille sur un projet
sérieux qui a besoin d'effectuer un CTRL+v depuis une fonction
Javascript; et big brother n'a rien à avoir avec le presse papier, il
ne faut pas tout mélanger.



Je ne mélange pas.
A priori, quand on utilise "contentEditable" c'est qu'on veut disposer
de fonctions d'édition de texte enrichi dans un bloc, non ?

Et, dans ce contexte, je ne vois pas à quoi d'autre peut servir la
commande "Ctrl + V" qu'à copier le contenu du clipboard !
Pour ce faire, inutile de générer la séquence clavier, il suffit
d'utiliser la commande "paste" en paramètre de la méthode "execCommand()".

Voir (anglais) :
https://developer.mozilla.org/En/Rich-Text_Editing_in_Mozilla

Mais, pour que ça fonctionne, il faut que le client Web ait autorisé ce
genre de manip, ce qui n'est pas gagné. C'est pour ça que j'évoquai big
brother.

Si, par contre, il s'agit d'émuler les "sendKeys" de VB dans Firefox,
non seulement je ne sais pas faire mais, en plus, je répète que j'espère
bien qu'on ne puisse pas le faire. Question de sécurité élémentaire.
Méta-MCI \(MVP\)
Le #18278251
Bonsoir !

"sendKeys" de VB



Petite correction : sendkeys de WSH (WScript.Shell), utilisable aussi
bien avec VBscript qu'avec JScript (et autres).
Mais, ça ne change rien au fond du problème.

@-salutations
--
Michel Claveau
SAM
Le #18278451
Le 1/2/09 12:50 PM, adalbert a écrit :
On 2 jan, 12:42, Pascal PONCET
Une idée ?


Oui : j'espère bien que ça ne sera jamais possible !



J'attendais plutôt une réponse censée.



c'était censé !

Le JS d'un brouteur ne peut rien réaliser de "concret" sur l'ordi du
visiteur, c'est *interdit*.

On pourra détecter Contr+v mais pas l'appliquer.

Je travaille sur un projet
sérieux qui a besoin d'effectuer un CTRL+v depuis une fonction



Quelle drôle d'idée !

N'est-il pas plus simple de lancer une vraie fonction en JS ?

range
selection
innerHTML
appendChild
et ce genre de choses

C'est censé faire quoi, au final ?

--
sm
adalbert
Le #18301001
On 2 jan, 18:23, Pascal PONCET
adalbert a écrit :

> J'attendais plutôt une réponse censée.  

Censée quoi ? Ah...sensée !

> Je travaille sur un projet
> sérieux qui a besoin d'effectuer un CTRL+v depuis une fonction
> Javascript; et big brother n'a rien à avoir avec le presse papier, il
> ne faut pas tout mélanger.

Je ne mélange pas.
A priori, quand on utilise "contentEditable" c'est qu'on veut disposer
de fonctions d'édition de texte enrichi dans un bloc, non ?

Et, dans ce contexte, je ne vois pas à quoi d'autre peut servir la
commande "Ctrl + V" qu'à copier le contenu du clipboard !
Pour ce faire, inutile de générer la séquence clavier, il suffit
d'utiliser la commande "paste" en paramètre de la méthode "execComman d()".

Voir (anglais) :https://developer.mozilla.org/En/Rich-Text_Editing_in_Moz illa

Mais, pour que ça fonctionne, il faut que le client Web ait autorisé ce
genre de manip, ce qui n'est pas gagné. C'est pour ça que j'évoquai big
brother.

Si, par contre, il s'agit d'émuler les "sendKeys" de VB dans Firefox,
non seulement je ne sais pas faire mais, en plus, je répète que j'esp ère
bien qu'on ne puisse pas le faire. Question de sécurité élémentai re.



En effet, le but est de coller le contenu du presse papier dans une
application web pour des utilisateurs qui ne connaissent pas
nécessairement le Shift+Insert ou le Ctrl+V.
Sur IE, le execCommand() fonctionne très bien mais pas en FF, raison
pour laquelle je pensais faire qqch de semblable à ce que j'ai déjà
fait en VB avec sendKeys, vous avez bien compris !!
adalbert
Le #18300991
On 2 jan, 19:21, SAM wrote:
Le 1/2/09 12:50 PM, adalbert a écrit :

> On 2 jan, 12:42, Pascal PONCET >>> Une idée ?
>> Oui : j'espère bien que ça ne sera jamais possible !

> J'attendais plutôt une réponse censée.

c'était censé !

Le JS d'un brouteur ne peut rien réaliser de "concret" sur l'ordi du
visiteur, c'est *interdit*.

On pourra détecter Contr+v mais pas l'appliquer.

>  Je travaille sur un projet
> sérieux qui a besoin d'effectuer un CTRL+v depuis une fonction

Quelle drôle d'idée !

N'est-il pas plus simple de lancer une vraie fonction en JS ?

range
selection
innerHTML
appendChild
et ce genre de choses

C'est censé faire quoi, au final ?

--
sm



Le but est de coller le contenu du presse papier en Firefox dans un
span contenteditable="true".
IE le fait aisément avec execCommand() mais pas FF :-(
Les utilisateurs de l'application ne connaissent pas nécessairement
les séquences de touches Shift+Insert ou Ctrl+V.
SAM
Le #18301451
Le 1/4/09 10:12 PM, adalbert a écrit :
On 2 jan, 19:21, SAM wrote:

C'est censé faire quoi, au final ?



Le but est de coller le contenu du presse papier en Firefox dans un
span contenteditable="true".



comme le presse-papier dépend du système et non pas de l'application, il
n'y a donc pas de presse-papier dans Firefox.

Ceci étant, et encore une fois, le JavaScript se refuse à intervenir sur
les p'tites n'affaires de l'utilisateur.
On ne peut même pas faire afficher une image du DD du visiteur alors
qu'il l'aura choisie lui-même grace à l'input type=file,
alors ... un copié-collé ... c'est pas gagné.

Sans doute on doit pouvoir faire un copié d'une sélection dans la page
et la coller dans un textarea, par exemple. Mais ce ne sera pas par les
touches-clavier (sauf à les émuler en +).

Une piste :

IE le fait aisément avec execCommand() mais pas FF :-(



IE se permet plein de fantaisies tellement il est interfacé avec Windows.
Ce n'est d'ailleurs pas pour ça qu'il utilise des fonctions JavaScript
pour parvenir à agir sur l'ordi et autre.

execCommand() je ne sais ce que c'est, en tous cas ce n'est pas du JS.

Attention à ne pas confondre
- le vScript (M$)
et le
- JavaScript (les autres)
chacun usant +/- à sa façon de directives "standardisées"
sauf que vscript les a plus à sa mode et qu'il bénéficie de tt un tas de
choses supplémentaires dont bp "abusives" sinon sujettes à l'insécurité.

Les utilisateurs de l'application ne connaissent pas nécessairement
les séquences de touches Shift+Insert ou Ctrl+V.



Là, il est plus que temps de le leur apprendre ;-)

(encore que ... Shift + Insert
... je ne sais même pas ce qu'est cet Insert ?!
J'ai ça sur mon Mac ?)

--
sm
adalbert
Le #18303411
On 4 jan, 23:18, SAM wrote:
Le 1/4/09 10:12 PM, adalbert a écrit :

> On 2 jan, 19:21, SAM > wrote:

>> C'est censé faire quoi, au final ?

> Le but est de coller le contenu du presse papier en Firefox dans un
> span contenteditable="true".

comme le presse-papier dépend du système et non pas de l'application, il
n'y a donc pas de presse-papier dans Firefox.

Ceci étant, et encore une fois, le JavaScript se refuse à intervenir sur
les p'tites n'affaires de l'utilisateur.
On ne peut même pas faire afficher une image du DD du visiteur alors
qu'il l'aura choisie lui-même grace à l'input type=file,
alors ... un copié-collé ... c'est pas gagné.

Sans doute on doit pouvoir faire un copié d'une sélection dans la pag e
et la coller dans un textarea, par exemple. Mais ce ne sera pas par les
touches-clavier (sauf à les émuler en +).

Une piste :

> IE le fait aisément avec execCommand() mais pas FF :-(

IE se permet plein de fantaisies tellement il est interfacé avec Window s.
Ce n'est d'ailleurs pas pour ça qu'il utilise des fonctions JavaScript
pour parvenir à agir sur l'ordi et autre.

execCommand() je ne sais ce que c'est, en tous cas ce n'est pas du JS.


Il s'agit d'une méthode permettant d'exécuter des opérations sur un
contenu éditable (ex: bold, italic, underline, align, etc).
C'est assez standard et compatible IE et FF depuis déjà pas mal de
versions (le contenteditable existe depuis FF3, avant, cela portait un
autre nom qui m'échappe à l'instant).

Attention à ne pas confondre
- le vScript (M$)


Je ne l'utilise pas, l'applic doit être compatible IE et FF (et autres
si possible)
et le
- JavaScript (les autres)
chacun usant +/- à sa façon de directives "standardisées"
sauf que vscript les a plus à sa mode et qu'il bénéficie de tt un t as de
choses supplémentaires dont bp "abusives" sinon sujettes à l'insécu rité.

> Les utilisateurs de l'application ne connaissent pas nécessairement
> les séquences de touches Shift+Insert ou Ctrl+V.

Là, il est plus que temps de le leur apprendre ;-)


Hum, cela dépasse mes possibilités, je ne verrai jamais la majorité
d'entre eux; et leur faire lire le help n'est pas chose aisée ;-)

(encore que ... Shift + Insert
  ... je ne sais même pas ce qu'est cet Insert ?!
  J'ai ça sur mon Mac ?)


Je n'ai pas cela non plus sur mon MacBook Air ;-)
Et oui, même si 99% des utilisateurs de l'applic sont XP ou Vista, je
développe depuis un Léopard ;-)

--
sm


Publicité
Poster une réponse
Anonyme