2010-04-02 4 views
0

J'essaye d'écrire un bookmarklet qui suit un paquet dans le courrier. D'abord, il vérifie si la page de suivi est ouverte, sinon il l'ouvre dans un nouvel onglet, puis définit la valeur du formulaire sur le numéro de suivi. Enfin, il soumet le formulaire. Ce que je suis jusqu'ici incapable de faire est de définir la valeur du formulaire dans le cas où le bookmarklet ouvre un nouvel onglet.Utilisation d'un bookmarklet pour suivre un paquet

Voici ce que j'ai:

javascript: (function() {var
TRACKINGNUMBER = "/ *tracking number* /";
var a = document.forms.trackingForm;
si (» http://fedex.com/Tracking '== document.location) {
trackingForm.trackNbrs.value = tRACKINGNUMBER;
document.forms.trackingForm.submit();}

else {
window.open ('http://fedex.com/Tracking');
this.window.onload = function() { // Cela semble être le problème
trackingForm.trackNbrs.value = TRACKINGNUMBER;
onload (document.forms.trackingForm.submit());
}
}
})();

Des idées?

+0

Peut-être ce manuscrit est ce que vous voulez http://userscripts.org/scripts/show/839 – jerone

Répondre

0

window.open ouvre une nouvelle fenêtre, donc si cela va fonctionner du tout (j'ai peu d'expérience avec bookmarklets), vous devez répondre à la nouvelle fenêtre directement. Quelque chose comme ceci:

else { 
new_window = window.open('http://fedex.com/Tracking'); 
new_window.onload = function(){ 
new_window.document.trackingForm.trackNbrs.value = trackingNumber; 
new_window.document.forms.trackingForm.submit(); 
// I didn't get at all what the onload() was for, re-add if necessary 
}