Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema con Firefox e .innerHTML

    Ho scoperto che se cerco di immettere dell'HTML non valido nella proprietà .innerHTML di un DIV (e di qualsiasi altro elemento, immagino) Firefox rifiuta di assecondarmi (ma non me lo dice mica, il fetente!! mi fa credere che l'errore sia nel mio script!!!).

    Ora io sto convertendo uno script che usava i FRAME per fargli utilizzare i DIV. E' un problema, perchè con Firefox questa riga funzionava alla perfezione:
    document.getElementById("ctrl").contentDocument+= '<a href="'; // ctrl era un frame
    Mentre la seguente non ha effetto:
    document.getElementById("ctrl").innerHTML+= '<a href="'; // ctrl è un div

    Per evitare questa trappola dovrei cambiare la logica dello script, e questo non è fattibile a questo punto, perchè si parla di troppe righe di codice.
    Esiste un'alternativa? C'è un modo per FORZARE la modifica di innerHTML anche con HTML non valido? Esiste una proprietà alternativa, un metodo alternativo, anche se magari funziona solo con Firefox?

    Ora, se fosse per me sparirebbero tutti i browser tranne Konqueror, ma visto che non posso pretendere tanto... PER FAVORE AIUTATEMI!!!!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non e' corretto, ha perfettamente ragione firefox

    se prima o poi il tuo codice produce codice valido concatenalo in una stringa passo dopo passo e solo alla fine inietta quella con innerHTML

  3. #3
    Non è il MIO codice, ma oltre 2500 righe di codice divise in 3 file, tutto scritto da altri, con documentazione sbagliata e che segue una logica contorta. Quindi, anche se ovviamente i tag a un certo punto vengono chiusi, io non ho il tempo per sbattere la testa contro lo script fino a capire come intervenire.

    Firefox ha la sua buona dose di torto. Lo script funzionava perfettamente quando inseriva HTML non valido in un FRAME (la proprietà contentDocument evidentemente non ha le restrizioni di innerHTML). Si può ragionare sulle motivazioni filosofiche che hanno condotto Mozilla a questa scelta, ma 1) forse è semplicemente un bug 2) all'atto pratico, per convertire un'applicazione scritta male che usa i FRAME, ho bisogno che Firefox segua le stesse regole, altrimenti mi rende la vita impossibile.

    Ora ho due scelte: convincere il committente che i frame non sono un gran male (e rinunciare a qualche centinaio di euro dicendo una cosa palesemente falsa), oppure dichiarare che su Firefox l'applicazione non funziona più.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.