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
class
eid
. 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.