Webmaster Hub: Commander le navigateur via les boutons d'une page - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Commander le navigateur via les boutons d'une page

#1 L'utilisateur est hors-ligne   MrPierre 

  • Groupe : Webmaster Régulier
  • Messages : 95
  • Inscrit(e) : 16-septembre 10
  • Genre:Homme
  • Localisation:Belgique

Posté 13 octobre 2010 - 09:22

Salut les javamis :p

Savez-vous s'il est possible de piloter des fonctions du navigateur via du code html ou js (ou autre) ?

Moi par exemple j'aimerais utiliser la fonction "annuler frappe" (ctrl+z) que propose le menu "édition" de la plupart des navigateurs.


Des idées là dessus ?

Ce message a été modifié par MrPierre - 13 octobre 2010 - 12:17.

Des connaissances dans l'un ou l'autre domaine? Créez des articles rémunérés sur www.questmachine.org !
0

#2 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 13 octobre 2010 - 13:27

Salut,
Bonne question...
Javascript ne permet pas d'avoir un gros contrôle sur le navigateur lui-même, ce serait la porte ouverte à de gros problèmes de sécurité.

Pour ton cas précis d'une fonction "annuler", la réponse est oui c'est possible. La preuve : quand tu écris une réponse sur le forum du hub, en haut à droite tu as un petit bouton (flêche demi-tour) qui permet d'annuler une action, et un autre qui permet de la rétablir.

Par contre je ne sais pas comment ça fonctionne au niveau du code. Il y a des pluggins jquery pour des éditeurs Wysiwyg, par exemple : http://elrte.org/ qui propose justement cette fonctionnalité... à creuser de ce côté-là.
0

#3 L'utilisateur est hors-ligne   MrPierre 

  • Groupe : Webmaster Régulier
  • Messages : 95
  • Inscrit(e) : 16-septembre 10
  • Genre:Homme
  • Localisation:Belgique

Posté 16 octobre 2010 - 08:42

Salut, j'ai finalement réussi à créer une petite fonction vilainement codée mais qui marche :

Voilà pour les deux petits boutons :) :

	<img src=../Icones/previous.png id="back" width=23>
	<img src=../Icones/next.png id="forward" width=23><br>

<textarea id=textarea rows=10 cols=7></textarea>





...et la fonction :

// fonction Previous et Next qui emploient le DOM pour emuler un ctrl+z et un ctrl+maj+z

function CancelableTextarea(textarea) {
	if (!textarea) {
		alert("CancelableTextarea needs a textarea as first paremeter!");
	}
	var currentlocation = this,
	values = this.values = [textarea.value],
	valueId = this.valueId = 0;
	this.textarea = textarea;
	textarea.onkeyup = function() {
	if (this.value !== currentlocation.values[currentlocation.valueId]) {
		if (this.value === currentlocation.values[currentlocation.valueId - 1]) {
				--currentlocation.valueId;
			} else if (this.value === currentlocation.values[currentlocation.valueId + 1]) {
				++currentlocation.valueId;
			} else {
				currentlocation.values = currentlocation.values.splice(0, currentlocation.valueId + 1);
				currentlocation.values.push(this.value)
				currentlocation.next();
			}
		}
	};
}

CancelableTextarea.prototype.previous = function() {
	if (this.valueId > 0) {
		--this.valueId;
		this.textarea.value = this.values[this.valueId];
	}
};
CancelableTextarea.prototype.next = function() {
	if (this.valueId < this.values.length - 1) {
		++this.valueId;
		this.textarea.value = this.values[this.valueId];
	}
};

// Créé les boutons dynamiquement, leur ajoute une fonction au click et finalement les ajoute au body

	var test = new CancelableTextarea(document.getElementById('textarea'));
	var back = document.getElementById('back');
	var forward= document.getElementById('forward');
	back.onclick = function() {
	  test.previous();
	};
	forward.onclick = function() {
	  test.next();
	};




Le code est pas top mais ça marche (il reste des variables inutiles, vous ferez le ménage :p

Ce message a été modifié par MrPierre - 16 octobre 2010 - 08:43.

Des connaissances dans l'un ou l'autre domaine? Créez des articles rémunérés sur www.questmachine.org !
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)