Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Ajouter une entré dans le menu du clic-droit pour coller un texte répétitif


Messages recommandés

Posté(e) (modifié)

Salut tout le monde !

 

Voila, au boulot je suis amené a faire des saisies dans une application web et certaine saisie sont très répétitive.

Je me demandais si il était possible d'ajouter des entrées dans le menu du click droit pour pouvoir coller ces textes que je doit saisire une bonne trentaine de fois par jours

 

un truc comme ca quoi :

 

annulé
________

couper
copier
collé
Mes saisies >>libellé1
supprimer     libellé2
...           libellé3
             libellé4
             ...

 

bien sur "libellé1" collerait le texte associé et ainsi de suite ... et il faudrait que ça fonction dans google chrome (ou dans firefox)

Je pensais que ce serai possible en ajoutant des clefs de registre mais n'étant pas spécialiste de la BDR je ne suis pas trop sur.

 

Actuellement j'utilise le module Clipple sur firefox, mais le problème c'est qu'il intercepte tous les copier/coller et rapidement je perde les textes que je doit coller.

 

[edit] oups j'oubliais un détail plutôt important ... je suis sous windows 7 entreprise 32bits

Modifié par 256JMAN

Posté(e)

Non mais ça va pas la tête ?!?

Qu'est-ce que tu veux aller modifier la base de registre pour faire des modifications dans Firefox ou Chrome, alors que ce sont les environnement les plus facilement scriptables qui existent (ce sont des pages web !).

 

Tu connais GreaseMonkey ?

Les textes que tu as à coller dans ces champs sont prédéterminés ?

 

 

La base de registre ne contient que des paramétrages, pas des applications. J'ignore ce que tout le monde croit qu'il est possible de faire avec la base de registre mais certainement pas ce que tu demandes !

Posté(e)

ah ... je pensais que Firefox utilisait le menu de windows pour le click droit .. enfin bref

 

Tu connais GreaseMonkey ?

GreaseMonkey je vois ce que c'est, j'ai pas trop utilisé et j'ai jamais fait de script dessus

Ca me fait un peu peur de me lancer dans le javascript pour faire ça (bien que je me doute que c'est surement pas ce qu'il y a de plus compliqué à faire)

 

Les textes que tu as à coller dans ces champs sont prédéterminés ?

Ouaip, je doit juste noter que le client c'est trompé de service et vers ou je l'ai redirigé dans GLPI. Quelque chose comme ça quoi :

 

Client :

Erreur de choix de service dans le serveur vocal

Redirigé vers le service tartempion

et il y à 7 services

Posté(e)

Ca serait pas plus simple de dire à ceux qui maintiennent l'appli que tu préférerais avoir une liste déroulante à la place du champ de saisie ? ;-D

 

Niveau complexité du code, c'est pas super sorcier. Ca va être un truc du genre "après le chargement de la page, ajouter derrière tel ou tel champ de saisie une liste déroulante contenant tel et tel choix qui remplira automatiquement le champ précédent".

En revanche ce qui risque de compliquer le boulot, c'est la structure du code HTML sur lequel on va vouloir se greffer...

Tu pourrais nous copier-coller l'extrait du source de la page qui correspond à un des formulaires / un des champs de saisie que tu dois remplir ?

Posté(e)
Ca serait pas plus simple de dire à ceux qui maintiennent l'appli que tu préférerais avoir une liste déroulante à la place du champ de saisie ? ;-D

hmmm je crois que ce sera plus rapide de demander à mon patron de faire développer un plugin ... enfin je vai attendre qu'il me commande mon nouveau PC avant ... et qui sait peut être que d'ici la les clients apprendront à écouter le serveur vocal avant d'appuyer sur n'importe qu'elle bouton !

 

le champ est dans cette partie de code :

<tbody>
 <tr>
   <th class="center">Titre:</th>
   <th colspan="3" class="left"><input size="80" name="name" value="" type="text"></th>
 </tr>
 <tr>
   <th colspan="4" align="center">Description de la demande ou de l'incident:</th>
 </tr>
 <tr class="tab_bg_1">
   <td colspan="4" align="center"><textarea cols="100" rows="6" name="contents"></textarea></td>
 </tr>
 <tr class="tab_bg_1">
   <td>Fichier (2 MB maxi):	<img src="/pics/aide.png" class="pointer;" alt="aide" onclick="window.open('/front/typedoc.list.php','Help','scrollbars=1,resizable=1,width=1000,height=500')"></td>
   <td colspan="3"><input name="filename" value="" size="25" type="file"></td>
 </tr><tr class="tab_bg_1">
   <td colspan="2" class="center">
     <a href="/front/helpdesk.php"><img title="Raz" alt="Raz" src="/pics/reset.png" class="calendrier"></a>
   </td>
   <td colspan="2" align="center"><input name="add" value="Valider" class="submit" type="submit"></td>
 </tr>
</tbody>

 

je pense que c'est dans ce champ que je saisie les commentaires :

<textarea cols="100" rows="6" name="contents"></textarea>

Posté(e)

OK

On va faire un test. Peux-tu surfer jusqu'à cette page et copier-coller le texte suivant dans la barre d'adresse ?

javascript:void(function (){var select = document.createElement("select"); var tabLibelles = new Array(4); for (var i = 0; i < 4; i++) { var option = new Op
tion(); option.text = "test" + i; option.value = "Ceci est un test. " + i; select.options[i] = option; }; var tabTextareas = document.getElementsByTagName("
textarea"); if (tabTextareas != null && tabTextareas[0] != null) { tabTextareas[0].parentNode.insertBefore(select, tabTextareas[0]); select.onchange = funct
ion() { this.nextSibling.value = this.options[this.selectedIndex].value; }}}())

.. sur une seule ligne... et tu valides...

 

Juste pour voir. Si ça génère une erreur, laquelle ? (je n'ai pas testé ce script dans les bonnes conditions...)

En théorie, ce bout de code parcourt la page à la recherche d'un textarea et le précède d'une liste déroulante. Si c'est concluant on pourra faire en sorte de mettre les bonnes valeurs dans les options du select. Après on réécrira ça au propre dans un script GreaseMonkey :-P

Posté(e) (modifié)

ca fonctionne avec chromium !

[edit] par contre rien ne s’écrit s’écrit dans le champ quand je sélectionne un choix de la liste

Modifié par 256JMAN
Posté(e)

Salut à tous,

 

C'est aussi possible sur les menu Windows, mais il faut coder une dll pour soit faire un hook sur les fenêtres et modifier leur menu, soit faire une "extension shell"

Si tu ne codes pas en C++ la solution du script via le navigateur est préferable.

 

Mais je rejoins l'idée de revoir l'interface ou d'en développer une autre pour tes besoins, un formulaire de saisie comme tu le décris n'est pas bien long à réaliser.

 

 

Bonne soirée.

 

++

Posté(e)

Voici un premier jet de script Greasemonkey. Il faut que tu mettes l'URL de la page concernée dans la ligne "@include .." qui dit à Greasemonkey que ce script s'applique aux URL qui ont la forme "http://*" (actuellement), afin de lui éviter de lancer inutilement cette fonction sur tous les sites que tu visites :-P

Tu peux personnaliser les deux tableaux de libellés et de textes.

Ceci étant dit, je signale que je n'ai pas pu tester ce script donc il se pourrait qu'il comporte encore des erreurs :-D

YMMV

//
// -------------------------------------------------
//
// ==UserScript==
// @name          Saisie automatique
// @namespace     http://forum.zebulon.fr
// @description   Ajoute une liste déroulante pour des textes prédéfinis
// @include       http://XXXX.XX/front/helpdesk.php*
// ==/UserScript==

var tabLibelles = new Array(
   "Libelle1",
   "Libelle2",
   "Libelle3",
   "Libelle4");

var tabTextes = new Array(
   "Ceci est un test",
   "Le second texte à insérer",
   "Bla bla bla bla bla",
   "Il était une fois...");

var textareaContent = null;

function initScript(event) {
 // Recherche du textarea nommé "content"
 var tabTextareas = document.getElementsByTagName("textarea");
 if (tabTextareas != null) {
   for (var i = 0; i < tabTextareas.length;  i++) {
     if (tabTextareas[i].name == "content") {
       textareaContent = tabTextareas[i];
       break;
     }
   }
 }
 if (textareaContent == null) {
   return;
 }
 // Construction de la liste déroulante
 var select = document.createElement("select");
 select.options = new Array();
 var optionParDefaut = new Option();
 optionParDefaut.text = " -- Choisir un texte --";
 optionParDefaut.value = "";
 optionParDefaut.defaultSelected = true;
 select.options.push(optionParDefaut);
 for (var i = 0; i < tabLibelles.length; i++) {
   var option = new Option();
   option.text = tabLibelles[i];
   option.value = tabTextes[i];
   select.options.push(option);
 }
 select.onchange = function() {
     var texte = this.options[this.selectedIndex].value;
     while (textareaContent.firstChild != null) {
       textareaContent.removeChild(textareaContent.firstChild);
     }
     textareaContent.value = texte;
     textareaContent.appendChild(document.createTextNode(texte));
 }
 // Ajout de la liste au document
 textareaContent.parentNode.insertBefore(select, textareaContent);
}

window.addEventListener("load", initScript, false);

Au cas où : tu es censé sauvegarder ce script avec un nom qui se finit par ".user.js" puis l'ouvrir avec Firefox (et Greasemonkey se chargera du reste)

Posté(e)

salut

 

Ça ne fonctionne pas :-(

j'ai chargé le script après avoir l'avoir modifier pour qu'il ne fonctionne que sur la page http://XXXX.X/front/helpdesk.php et rien ne se passe quand je suis sur cette page

Je pensais que c'était moi qui l'avait mal chargé et en regardant d'autre script greasemonkey j'ai vue que Firefox les reconnait automatique quand je les ouvre (une bande jaune en haut du script avec un bouton installé) et ca ne le fait pas sur le tien

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...