Forums : Extensions

Aller à la discussion :  Plus récente Plus ancienne

Aller à la page :  1 2

# bloquer ouverture de fenetre

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

# Re: bloquer ouverture de fenetre

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.

# Re: bloquer ouverture de fenetre

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

# Re: bloquer ouverture de fenetre

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..

# Re: bloquer ouverture de fenetre

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.

# Re: bloquer ouverture de fenetre

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.

# Re: bloquer ouverture de fenetre

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();

# Re: bloquer ouverture de fenetre

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.

# Re: bloquer ouverture de fenetre

Envoyé par : Paul Rouget

Date : 27/06/2007 14:38

Dans ta fonction écoutant l'event, tu ne peux pas faire ça ?

# Re: bloquer ouverture de fenetre

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.

Aller à la page :  1 2

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.