Sto sviluppando un programma di aggiornamento del sito web. Il front-end utilizza HTML, CSS e JavaScript e il back-end utilizza Python.
Il modo in cui funziona è che <p/> , <b/> e alcuni altri elementi HTML possono essere aggiornati dall'utente. Per abilitarlo, carico la pagina Web e, con JQuery, converti tutti quegli elementi in <textarea/> elementi. Una volta modificato il contenuto dell'area di testo, applico la modifica agli elementi originali e la invio a uno script Python per memorizzare il nuovo contenuto.
Il problema è che sto riscontrando che diversi browser modificano l'HTML originale.
- Come risolvi questo problema?
- Quali librerie Python usi?
- Quali tecniche o progetti applicativi utilizzi per evitare o superare questo problema?
I problemi che ho riscontrato sono:
- IE rimuove le virgolette attorno agli attributi
classeid. Ad esempio,<img class='abc'/>diventa<img class=abc/>. - Firefox rimuove il backslash dalle interruzioni di riga:
<br \>diventa<br>. - Alcuni siti web hanno tecnicismi di visualizzazione molto specifici, quindi l'inserimento di un semplice "\ n" (che IE fa) può influenzare la visualizzazione di un sito web. Esempio: cambiando
<img class='headingpic' /><div id="maincontent">in<img class='headingpic'/>\n <div id="maincontent">inserisce uno spazio verticale in IE.
Le cose che ho provato senza successo a superare questi problemi:
- Uso di JQuery o Python per rimuovere tutte le occorrenze
>\n<,<br>ecc. Ma questo non funziona perché ottengo diversi pattern in IE, a volte un∙\n, a volte un\n∙∙∙. - In un Python, analizza il nuovo HTML, estrai il nuovo testo / contenuto, inseriscilo nel vecchio HTML in modo che gli elementi e il formato non cambino mai, solo il contenuto. Questo è molto difficile e sembra essere eccessivo.