Mi aiutate a capire perché questo mio script (sviluppato da me per un'estensione per Firefox) non funziona? Di seguito il codice:
Codice PHP:
function SearchNote_wizardStep2 ()
{
var wcd = window.content.document;
var forms = wcd.getElementsByTagName("form");
alert ('Elementi trovati: ' + forms.length);
for (var i = 0; forms[i]; i++)
{
var hlNode = wcd.createElement ('span');
hlNode.setAttribute('style', 'background-color:#FF0');
var nextNode = forms[i].nextSibling;
alert ('nextNode = ' + nextNode);
if (nextNode)
wcd.insertBefore(hlNode, nextNode);
else
forms[i].parentNode.appendChild(hlNode);
hlNode.appendChild(forms[i]);
}
alert ('ciclo completo: vedi i form evidenziati?');
document.getElementById('searchnote-wizard-deck').selectedIndex = 1;
alert ('fine dello script raggiunta');
}
L'obiettivo di questa funzione sarebbe quello di evidenziare i FORM presenti sulla pagina caricata in Firefox, aggiungendo un tag <span style="background-color:#FF0"> ... </span>. Grazie agli "alert" che ho posizionato, vi posso dire che:
- se i form esistono (il test l'ho fatto sulla home page di Google), questi vengono correttamente trovati (forms.length in questo caso vale 1)
- il nodo hlNode è correttamente creato
- nel caso di Google viene trovato un nodo (penso sia un <br>) successivo al form
- lo script si blocca alla riga wcd.insertBefore(hlNode, nextNode); (che dovrebbe inserire lo span, ancora vuoto, nella pagina dopo il modulo stesso): l'errore che Firefox mi segnala è... "Node not found" (?!?).
Come posso fare per risolvere il problema?
Grazie a chi risponde... statemi bene...