How to fix DOM Exception: INVALID_CHARACTER_ERR (5)

Giorgio Borelli

Finestra d'errore generata da una eccezione nel DOM del browser relativa al messaggio DOM Exception: INVALID_CHARACTER_ERR (5)Se state usando JQuery, la famosa libreria o meglio framework di funzioni javascript per sviluppare il vostro sito web, è possibile che all'atto della visualizzazione in Internet Explorer 9, venga visualizzato il seguente messaggio d'errore "DOM Exception: INVALID_CHARACTER_ERR (5)", questa eccezzione generata dal DOM del browser si verifica solo sulla versione 9 del browser di casa microsoft, probabilmente perchè questo fà un uso molto restrittivo dei nomi (stringhe) passati alle funzioni ed ai costruttori, e si arrabbia subito se l'uso di qualche carattere o virgolette non viene rispettato alla perfezione, in particolare in Internet Explorer 9 per la funzione del DOM Document.createElement(tagName), non è consentito l'uso di tag HTML nel parametro tagName, e questo porta subito ad una eccezione.

Fortunatamente risolvere questo bug è davvero immediato basta scaricare la versione più aggiornata del plugin bgiframe del framework JQuery.

Il plugin bgiframe per JQuery è stato sviluppato per risolvere errori di rappresentazione della proprietà z-indiex d'Internet Explorer 6, ma in questo caso ci torna utile poichè fix l'errore "DOM Exception: INVALID_CHARACTER_ERR (5)", per scaricare il plugin potete cliccare sul seguente link che vi porterà alla pagina del sito di JQuery con le varie versioni del plugin:

bgiframe plugin

Una volta scaricato l'ultima versione di bgiframe, "referenziatela" nelle vostre pagine web con una stringa simile nella sezione head:

<script src="App_Asset/js/jquery.bgiframe.js" type="text/javascript"></script>

ovviamente sostituite il percorso con quello vostro.

Bene, non vi posso dire con assoluta certezza che questo risolva il problema, ma aggiornando il plugin bgiframe all'ultima versione avete buone possibilità di far scomparire l'eccezione "DOM Exception: INVALID_CHARACTER_ERR (5)" durante l'uso d'Internet Explorer 9.

 

Conclusioni

Come sempre la compatibilità cross browser è una delle rogne più grosse per chi sviluppa sul web, e anche se grossissimi passi avanti sono stati fatti, è veramente difficile, a mio avviso impossibile, ottenere una compatibilità al 100%. Progetti come JQuery si sforzano di rilasciare framework che uniformino la gestione e la resa del codice HTML lato client, ma sono certo che continueremo ad imbatterci in bug come questo sino a quando ogni software house proprietaria dei vari browser non soddisferà appieno le direttive standard del W3C evitando di personalizzare il proprio DOM.

Chiunque voglia aggiungere qualcosa o chiedere ulteriori chiarimenti su Come risolvere l'eccezione DOM Exception: INVALID_CHARACTER_ERR (5) in IE9, può farlo tramite i commenti, ogni vostro contributo alla discussione sarà ben accetto.

Categorie: Browser | fix | Javascript

Tags: ,

Aggiungi Commento

biuquote
Loading