2009-11-22 4 views
1

J'utilise un script greasemonkey pour charger une page avec ajax et remplir automatiquement les champs du formulaire dans la page et soumettre le formulaire. Le problème est que lorsque l'instruction est exécutée form.submit() je reçois une erreur d'exception non interceptée:form.submit() provoque une exception non interceptée dans greasemonkey

"uncaught exception: [Exception... "Component is not available" 
nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" 
     //location: "JS frame :: 
file:///home/user/.mozilla/firefox/kwrkmbls.default/extensions/%7Be4a8a97b-f2ed-450b-b12d-ee082ba24781%7D/components/greasemonkey.js 
:: anonymous :: line 375" data: no]" 

Étrangement, si je ne me ajax pour charger la page, mais le charger manuellement à la place, le même code fonctionne; Tous les champs sont remplis et le formulaire est soumis.

Une idée de ce qui est en cause;

+0

Avez-vous essayé de réinstaller Greasemonkey et Firefox? –

Répondre

0

vous ne pouvez pas simplement demander le contenu et essayer de l'exécuter. vous devez l'ajouter à la page en cours. quelque chose comme:

document.body.appendChild(iframe); 
iframe.addEventListener("load", function(e) 
{ 
    e.target.contentDocument.forms.namedItem("namedForm").submit(); 
}, false); 

havent testé mais vous eu l'idée

Questions connexes