Envoyé par : The_Did
Date : 18/06/2007 10:39
Bonjour, je cherche à bloquer l'ouverture de fenetre et d'onglet, j'ai trouvé le code suivant sur le wiki:
var urlChangeListener = { // fonction appelée à chaque changement de page ou d'onglet onLocationChange:function(aWebProgress, aRequest, aLocation) { if(aWebProgress.isLoadingDocument){ // nouveau document if (aLocation.spec) { var url = aLocation.spec; alert(url); } }else{ alert('changement donglet'); } }, // on définit les autres fonctions de l'interface, même si on n'y fait rien // sinon cela provoque des erreurs javascript onProgressChange :function ( webProgress, request, curSelfProgress, maxSelfProgress, curTotalProgress, maxTotalProgress ){ }, onSecurityChange: function ( webProgress, request, state ){ }, onStateChange: function ( webProgress, request, stateFlags, status){ }, onStatusChange: function( webProgress,request , status, message ){ }, QueryInterface : function (iid) { if(!iid.equals(Components.interfaces.nsISupports) && !iid.equals(Components.interfaces.nsIWebProgressListener)) throw Components.results.NS_ERROR_NO_INTERFACE; return this; } }; // Ici on déclare maintenant notre listener auprés du tabbrowser de firefox window.getBrowser().addProgressListener( urlChangeListener , Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
Le code fonctionne très bien et je voudrais rajouter une commande qui bloque l'ouverture lors de l'affichage de l'alerte :alert(url)
Si quelqu'un connait une commande, je suis preneur
merci d'avance pour vos réponses
Envoyé par : The_Did
Date : 18/06/2007 13:29
J'avoue que sa a l'air un peu tordue comme idée mais mon but est d'avoir une fenetre unique ou c'est moi qui gèrerais les différents onglets. C'est pour cela qu'il me faut l'url de la page à ouvrir mais après je veux bloquer le fait que firefox ouvre l'onglet ou la fenetre pour pouvoir l'ouvrir comme je veux.
Envoyé par : papy
Date : 18/06/2007 15:44
Hello,
je ne me suis pas plongé dans le code que tu as posté un peu plus haut, mais j'utilise quotidiennement une extension qui, entre autre, "contrôle" l'ouverture des onglets (comme quoi ca n'est pas si tordu :D ).
Essai de voir si tu ne trouve pas ton bonheur dans Tab Mix Plus, il y a notamment une préférence qui s'intitule Activer le mode fenêtre unique, qui comme son nom l'indique ouvre tout dans des onglets au lieu d'ouvrir de nouvelles fenêtres
Envoyé par : The_Did
Date : 18/06/2007 15:59
j'ai déja essayé tabMixplus en dépouillant son code car il est assez compliqué, j'ai réussi à recréer son mode fenetre unique avec une extension qui s'appelle tabkiller. Le probleme est que je ne veut pas que les nouveaux onglets s'ouvre, je veux juste pouvoir récuperer l'url (code ci-dessus) et bloquer tout le reste..
Envoyé par : The_Did
Date : 26/06/2007 14:33
Désolé de remettre ce topic à jour mais je n'ai toujours pas trouver le moyen de faire ce que je veux:
lors d'un clic sur un lien, j'arrive à récuperer l'url du lien
et je voudrais dire à firefox de ne pas ouvrir ce lien.
Envoyé par : The_Did
Date : 26/06/2007 14:33
Désolé de remettre ce topic à jour mais je n'ai toujours pas trouver le moyen de faire ce que je veux:
lors d'un clic sur un lien, j'arrive à récuperer l'url du lien
et je voudrais dire à firefox de ne pas ouvrir ce lien.
Envoyé par : Paul Rouget
Date : 26/06/2007 19:03
Essaye en interceptant l'évennement "onclick" de la pageweb et en faisant un:
event.stopPropagation();
Envoyé par : The_Did
Date : 27/06/2007 10:31
Merci pour ta réponse je viens de tester sa bloque bien l'action du click mais je vais expliquer plus particulièrement mon probleme:
j'ai une page web avec une iframe dedans, le probleme est que si on clique sur un lien dans l'iframe, cela ouvre une nouvelle fenetre ou un nouvel onglet et donc je ne vois plus ma page web.
je voudrais faire des onglet dans ma iframe pour rester sur ma page web.
Envoyé par : Paul Rouget
Date : 27/06/2007 14:38
Dans ta fonction écoutant l'event, tu ne peux pas faire ça ?
Envoyé par : thefab
Date : 27/06/2007 17:39
je voudrais faire des onglet dans ma iframe pour rester sur ma page web.
Dans ce cas c'est plutôt un tabbrowser que tu dois utiliser à la place de l'iframe.
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.