Problemas creando objetos de Javascript con Internet Explorer.

La incompatibilidad de los browser es muy comun hoy en dia, y para crear objetos HTML en el DOM a veces funciona de una manera en un explorador y de otra manera en otro, aqui hay claros ejemplos de esto y podemos ver como lo podriamos solucionar.

Por dar ejemplos yo hace poco necesitaba crear un objeto de TEXTAREA con varios atributos del mismo y en firefox funconaba muy bien pero en explorer no , y no me daba errores de javascript , simplemente no funcionaba, instale la web developer tool de iexplorer ( Que la verdad SUCKS, no se le compara a la de firefox) , y alli vi que si habia creado el TEXTAREA pero que no tenia ninguna propiedad y no sabia como crearselo, asi que investigando pude ver que mucha gente ha tenido este problema y hay una forma de solucionarlo que es muy simple y efectiva , que es hacerlo de la siguiente manera.

 


try {
title = document.createElement('');
} catch(err) {
var title = document.createElement('INPUT');
title.setAttribute('name', 'imagetitle[]');
}

 

Este ejemplo lo hice para un INPUT pero es lo mismo para un textarea , y podemos ver que esto lo dejamos dentro de un try y catch para que agarre el error en caso de fallar, entonces analicemoslo.

lo que esta dentro de try es para que funcione en Iexplorer y lo que esta dentro del catch funciona dentro de Firefox, el .setAttribute que se ve mas elegante y de una mejor manera no funciona en iexplorer y si uno desea definir todas las propiedades de la TAG hay que ponerselas como en la parte dentro del try.

Asi que alli tienen una solucion sencilla que les ahorrara mucho tiempo a la hora de realizar cosas como estas.

Si tienen alguna duda, o no les lleagara a funcionar pueden dejar un comentario y lo podemos discutir.

Saludos.

Los comentarios están cerrados.