Magazine Informatica

Sencha ExtJS – ‘createContextualFragment’ non supportato in IE 9

Creato il 19 maggio 2011 da Blogrammazione

 

sencha extjs

fonte: dal web

Con l’aggiornamento a Internet Explorer 9 (IE 9) non sarà possibile utilizzare le web application che abbiamo equipaggiato con ExtJs versione 3.*: IE9 infatti non supporta il metodo createContextualFragment generando errori che nella pratica non permettono la navigazione del sito. Il metodo javascript createContextualFragment è utile quando vogliamo creare un oggetto DocumentFragment con del contenuto iniziale: createContextualFragment era stato inizialmente pensato come alternativa all’ormai più diffuso e conosciuto metodo innerHTML.

Se per diversi motivi non possiamo aggiornare il framework Sencha ExtJs alla versione 4 (in cui la fix dovrebbe essere già impostata), possiamo utilizzare una piccola fix per risolvere il problema.

Il codice da utilizzare è il seguente:

if ((typeof Range !== "undefined") & !Range.prototype.createContextualFragment)
{
	Range.prototype.createContextualFragment = function(html)
	{
		var frag = document.createDocumentFragment(),
		div = document.createElement("div");
		frag.appendChild(div);
		div.outerHTML = html;
		return frag;
	};
}

Dove inserire questo codice? Potete inserire questa fix lì dove richiamate il framework: se avete predisposto un file di configurazione per ExtJs allora quello è il punto ideale in cui inserire la fix, in questo modo siete sicuri di sistemare il problema per tutta la web application.


Ritornare alla prima pagina di Logo Paperblog