En este artículo, describiré brevemente varios aspectos de la sintaxis de JavaScript que difieren entre Internet Explorer y Firefox.
1. Propiedad "flotante" de CSS
La sintaxis básica para obtener una propiedad CSS específica de un objeto determinado es la propiedad object.style, y las propiedades con guiones utilizan la notación camel en su lugar.
de
fondo de un div con el ID "encabezado", necesitamos usar la siguiente sintaxis:
document.getElementById("header").style.borderBottom= "1px solid #ccc";
"float" es una palabra reservada de JavaScript, no podemos usar object.style.float para obtener el atributo "float". Así es como lo usamos en ambos navegadores:
Sintaxis de IE:
document.getElementById("header").style.styleFloat = "izquierda"
sintaxis de Firefox:
document.getElementById("header").style.cssFloat = "left"
2. Estilo calculado del elemento
;
Al utilizar la propiedad object.style.property anterior, JavaScript puede obtener y modificar fácilmente el estilo CSS establecido del objeto. Pero la limitación de esta sintaxis es que solo puede obtener estilos en línea en HTML o estilos configurados directamente usando JavaScript. El objeto de estilo no puede obtener estilos establecidos mediante hojas de estilos externas. Para obtener el "estilo calculado" de un objeto utilizamos el siguiente código:
Sintaxis de IE:
var miObjeto = document.getElementById("encabezado");
var myStyle = myObject.currentStyle.backgroundColor
Sintaxis de Firefox:
var miObjeto = document.getElementById("encabezado");
var myComputedStyle = document.defaultView.getComputedStyle(myObject, null);
var myStyle = myComputedStyle.backgroundColor
3. Obtenga el atributo "clase" del elemento;
De manera similar al caso del atributo "flotante", los dos navegadores utilizan diferentes métodos de JavaScript para obtener este atributo.
Sintaxis de IE:
var miObjeto = document.getElementById("encabezado");
var myAttribute = myObject.getAttribute("className");
sintaxis de Firefox:
var miObjeto = document.getElementById("encabezado");
var myAttribute = myObject.getAttribute("class");
4. Obtenga el atributo "for" de la etiqueta
Al igual que 3, también existen diferentes sintaxis para usar JavaScript para obtener el atributo "para" de la etiqueta.
Sintaxis de IE:
var miObjeto = document.getElementById("miEtiqueta");
var myAttribute = myObject.getAttribute("htmlFor");
sintaxis de Firefox:
var miObjeto = document.getElementById("miEtiqueta");
var myAttribute = myObject.getAttribute("for");
Se utiliza la misma sintaxis para el método setAtrribute.
5. Obtener la posición del cursor
Obtener la posición del cursor de un elemento es poco común y, si es necesario, la sintaxis es diferente en IE y Firefox. Este código de muestra es bastante básico y normalmente se usa como parte de muchos controladores de eventos complejos y solo se usa para describir las diferencias. Cabe señalar que los resultados en IE son diferentes a los de Firefox, por lo que existen algunos problemas con este método. A menudo, esta diferencia se puede compensar obteniendo la "posición de desplazamiento", pero eso es tema para otro artículo.
Sintaxis de IE:
var miPosicionCursor = [0, 0];
myCursorPosition[0] = event.clientX;
myCursorPosition[1] = event.clientY;
sintaxis de Firefox:
var miPosicionCursor = [0, 0];
myCursorPosition[0] = event.pageX;
myCursorPosition[1] = event.pageY;