Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Récupérer barre d'URL dans un champ

Envoyé par : chrislabricole

Date : 28/08/2008 13:58

Bonjour à tous, heureux d'avoir trouvé ce forum :)

J'ai un petit problème avec mon fichier XUL et mon JS, je voudrais tout simplement récupéré l'URL qui se trouve dans la barre d'adresse dans un champs de texte au chargement de la fenêtre...

J'ai essayer tout plein de méthodes, surtout pour charger la fonction au chargement, mais pour débugger, j'ai déjà essayé avec un bouton et ça marche pas :s

mon fichier XUL (la partie concernée)

...
<script src="chrome://nomdemonmod/content/send_url.js" />
...
<textbox id="status" readonly="true" value="" flex="1" />
<button id="geturl" label="Get URL !"  oncommand="onload_minimizeurl();" />
...

Mon fichier JS (send_url.js):

function onload_minimizeurl(){
	var field_status = document.getElementById('status');
	var URL = document.getElementById('tb').value;
	alert('URL:\n'+URL); // alert() sans succès quand je clique sur le bouton...
	field_status.label = 'URL:\n'+URL;
	field_status.value = 'URL:\n'+URL;
}

Je fais la remarque aussi que se n'est pas un problème de chemin de fichier puisque dans ce fichier JS, il y a une autre fonction, qui contient même AJAX, et ça, ça marche nickel ! alors je vois pas se qui cloche.... Mais en fait, les codes ci-dessus, c'est du code de débuggage, parce-que je veux qu'en fait, mon champs (id=status) soit remplis de l'URL de l'onglet courant au chargement de ma petite fenêtre XUL...

Le top, ça serait d'avoir un liste (select) avec le nom des onglets et quand on sélectionne le nom de l'onglet, ya son URL correspondante qui remplis ce champs... (et l'onglet courant sélectionné par défaut) Ça, c'est pour plus tard, sauf si quelqu'un connais le code et veut bien me le communiquer...

Voilà, Je vous remercie d'avance des futures réponses :)

# Re: Récupérer barre d'URL dans un champ

Envoyé par : Christophe Charron

Date : 28/08/2008 16:14

Bonjour,
êtes-vous sûr que la barre d'adresse s'appelle tb ?

var URL = document.getElementById('tb').value;

# Re: Récupérer barre d'URL dans un champ

Envoyé par : chrislabricole

Date : 28/08/2008 16:24

Bah justement :/ Je sais pas, j'ai trouvé ça sur ce même forum ;)

Mais se qui est encore plus bizarre, c'est que j'ai pas de alert()...

:s

Merci de votre aide :)

# Re: Récupérer barre d'URL dans un champ

Envoyé par : Christophe Charron

Date : 28/08/2008 21:24

Pas d'alert : c'est qu'il y a une certainement une erreur dans votre code javascript -> firebug est votre amie et en explorant le DOM avec cette extension, regardez du côté de window.location ...

# Re: Récupérer barre d'URL dans un champ

Envoyé par : chrislabricole

Date : 28/08/2008 22:54

Ah bon ? comment faire pour utiliser Firebug avec du XUL ?

Sinon, tout cela me parait bizarre, parce-que j'ai beau relire plein de fois mon code et je ne vois pas d'erreur...

Merci beaucoup.

# Re: Récupérer barre d'URL dans un champ

Envoyé par : chrislabricole

Date : 29/08/2008 02:50

Bon voilà, j'ai beaucoup avancé dans cette affaire :)

J'ai mis

onload="onDialogLoad();"

Et se qui faisait foiré la plus pars des choses, c'est l'appel du script, pourtant, ça marché bien avec la fonction avec AJAX dedans...

bref, voilà maintenant :

<script type="application/x-javascript" src="chrome://monmod/content/minimize_url.js"></script>

J'ai enlevé le bouton de test, et j'ai renommé la fonction onload pour être sur que s'était pas un mot réservé...

function onDialogLoad(){
	var urlbar = window.location.href;
	alert('URL: ' + urlbar);
	document.getElementById('url').value = urlbar;
}

J'ai toujours le alert() au cas ou... se qui faisais foiré aussi, c'est l'erreur du

var URL = document.getElementById('tb').value;

Je ne pensé pas que ça pouvait arrêter le script et que donc comme le alert() suivait, il ne pouvais pas être affiché...

Donc à la place c'est

var urlbar = window.location.href;

Mais petit problème avec ça... il me renvoi l'url avec chrome://monmod/content/fichier.xul .... Je suppose qu'il doit y avoir un

.parent

Bref, je vais voir de ce côté là et je vous tiens informé ;)

Merci à vous !

EDIT: Yeah ! j'ai trouvé ! :D

var urlbar = window.opener.gBrowser.contentDocument.location.href;

http://forums.mozillazine.org/viewtopic.(..)

__Maintenant, et là, ça va être plus dur, je souhaiterai avec une liste de sélection avec les noms des onglets (si possible avec les favicons sur le côté ça serais chouette ^^) et en values, son url correspondante, comment s'y prendre ? Merci beaucoup !!!__

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.