Comment récupérer l'URL d'un onglet qui vient d'être ouve

Vous vous penchez sur le développement d'applications ou d'extensions pour Mozilla ? C'est alors vers ce forum que se dirigeront naturellement vos requêtes...

Modérateur : chBok

arno.
Varan
Messages : 1347
Enregistré le : 19 août 2004, 12:26

Message par arno. » 21 juil. 2009, 17:58

gussticier a écrit :

Code : Tout sélectionner


			if(url_temp == docAdded_URL) 
			
A mon avis, tu devrais mieux tester l'égalité des documents plutôt que des urls. Si tu ouvres un onglet sur une url déjà ouverte, c'est l'autre onglet qui sera pris en compte.
Il y a d'ailleurs les fonctions gBrowser.getBrowserIndexForDocument et gBrowser.getBrowserForDocument qui sont déjà toutes faites pour çà.
retrouver l'onglet à partir du browser (et surtout du document) est moins facile.
Bah, une fois qu'on a l'index du browser, il suffit de prendre l'onglet qui est au même index dans le tabcontainer.
Pour le savoir, j'ai fait une alerte de l'attribut TEST lorsque je clique sur l'onglet, l'attribut TEST renvoie rien...
Bizarre...

thibaud74
Gecko
Messages : 77
Enregistré le : 12 août 2006, 11:14

Re: Comment récupérer l'URL d'un onglet qui vient d'être ouve

Message par thibaud74 » 01 mars 2010, 14:02

Hello,
Avez-vous trouvé la solution ? Personnellement, je place un écouteur comme ceci :

Code : Tout sélectionner

gBrowser.addEventListener("load", NVonLoad, true);
Puis je capte l'url ainsi :

Code : Tout sélectionner

function NVonLoad(event){
  dump('NVonLoad original target ' + event.originalTarget.baseURI);
}
En revanche, je trouve beaucoup plus difficile de sasir l'url de l'onglet qui vient d'être supprimé. C'est pourtant facile de capter la suppression d'un onglet :

Code : Tout sélectionner

gBrowser.tabContainer.addEventListener("TabClose", NVonTabClose, false);
Mais la récupération de l'url ne fonctionne pas :

Code : Tout sélectionner

function NVonTabClose(event){
			browser = event.target.linkedBrowser;
			// browser est l'element XUL du navigateur qui a ete supprime
			// var title = browser.title;
			var url = browser.baseURI;
			var url2 = browser.aLocation.spec;
			var url3 = browser.currentURI.spec;
			edDump("NVonTabClose: url1: " + url + " url2: " + url2 + " url3: " + url3);
}
Cf. ici pour l'exemple sur les notifications : https://developer.mozilla.org/fr/Extrai ... navigation

Merci de l'aide,
Thibaud.

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités