|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2002
Città: Porto Sant' Elpidio (ap)
Messaggi: 789
|
[JScript] Elaborazioni sul DOM
Salve a tutti.
Sono niubbo con javascript, ma questo problema mi sembra paranormale. La situazione è questa: - carico l'index in un file che contiene in script i riferimenti a files esterni js e body vuoto. - mi arriva tramite stringa una pagina xhtml bella precisa con tanto di css - converto la stringa in dom grazie alla funzione sul sito del w3c (a questo punto aptana non mi riconosce bene la classe della mia variabile... e già sono perplesso, però i metodi ci funzionano, e poi.. il w3c è il w3c) - faccio le mie belle sostituzioni tramite funzioni dom: sostituisco il body e aggiungo gli script - visualizzo la pagina: i browsers non me la interpretano! ovvero: il body contiene delle liste... il browser visualizza solo testo! il title...lo visualizza nella window come stringa di testo. tutto il testo è tutto attaccato... niente di niente!. Faccio notare che guardo tramite firefox web developer l'html che genera.. ed è giusto.. se io faccio copia e incolla dell'html generato su 1 file, lo rinomino .html e lo esegui su 1 browser questo funziona. - faccio invece queste sostituzioni con innerHTML e me lo interpretano correttamente. Bene.. volevo chiedere a voi esperti se questo è 1 problema noto, se è 1 problema di importazione da 1 documento esterno che non si può fare, se il document è in qualche modo bloccato, o se voi avete fatto tutto questo e io sto solo sbagliando programmazione. Grazie mille a tutti !!
__________________
Abit aw9-d max, pentium code 2 duo E7300, sapphire radeon hd 4750, corasir 650W |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gallarate (VA)
Messaggi: 3903
|
Beh, potresti postare il codice, così vediamo se magari hai sbagliato qualcosa nello script del dom
__________________
Santech M58: CPU: i7 3840QM, RAM: 16GB (2x8GB CL10), HARD DISK: SSD crucial M4 128GB + HD Sata 3 1TB 7200rpm, SCHEDA VIDEO: GeForce GTX 680M |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2002
Città: Porto Sant' Elpidio (ap)
Messaggi: 789
|
Codice:
//salvo gli script del documento precedente
scripts = document.getElementsByTagName("script");
//trasformo una stringa html in dom(tramite la funzione presa dal sito w3c
rec = GlobalXmlparser.xmlToDom(xmlstring);
//prendo head e body del documento originale
head = document.getElementsByTagName("head").item(0);
body = document.getElementsByTagName("body").item(0);
//prendo head del nuovo documento
rec_head = rec.getElementsByTagName("head").item(0);
//invece rimetto a stringa il body, per usarlo con innerHTML
rec_body = GlobalXmlparser.domToXml(rec.getElementsByTagName("body").item(0));
//elaboro l'head del documento come DOM
for(i=0; i<scripts.length; i++)
{//appendo i tag script
rec_head.appendChild(scripts.item(i));
}
//e sostituisco l'head precedente con quello a cui ho aggiunto gli elementi script
head.parentNode.replaceChild(rec_head, head);
//invece sul body faccio la sostituzione con innerHTML
body.innerHTML = rec_body;
document.close;
Ora tramite firefox web developer posso guardare il codice creato. il codice è corretto, sia per head che per body però, mentre il body è visualizzato correttamente, l'head lui non me lo interpreta, ed ignora i css e title, che invece di scrivere nell'intestazione della pagina scrive nel corpo del documento (ripeto l'html relativo è corretto). Grazie a tutti
__________________
Abit aw9-d max, pentium code 2 duo E7300, sapphire radeon hd 4750, corasir 650W |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:12.


















