El entorno del Navegador

Javascript puede ser utilizado en diferentes entornos, pero su entorno más habitual es el navegador

El código Javascript de una pagina tiene acceso a unos cuantos objetos. Estos objetos los podemos agrupar en:

  • Objetos que tienen relación con la pagina cargada (el document). Estos objetos conforman el Document Object Model (DOM)
  • Objetos que tienen que ver con cosas que están fuera de la pagina (la ventana del navegador y la pantalla). Estos objetos conforman el Browser Object Model (BOM)

El DOM es un standard y tiene varias versiones (llamadas levels). La mayoria de los navegadores implementan casi por completo el DOM Level 1.

El BOM no es un standard, asi que algunos objetos están soportados por la mayoría de navegadores y otros solo por algunos.

Deteccion de Funcionalidades

Debido a estas diferencia entre navegadores surge la necesidad de averiguar (desde código JS) que caracteristicas soporta nuestro navegador (DOM y BOM)

Una solución seria la llamada Browser Sniffing que consiste en detectar el navegador que estamos utilizando

Esta técnica no se recomienda por:

if (navigator.userAgent.indexOf('MSIE') !== -1) {
    // this is IE
} else {
    // not IE
}

La mejor solucion para detectar funcionalidades de nuestro navegador es hacer Feature Sniffing, es decir chequear la existencia del objeto (método, array o propiedad) que queremos utilizar

if (typeof window.addEventListener === 'function') {
    // feature is subported, let's use it
} else {
    // hmm, this feature is not subported, will have to
    // think of another way
}

results matching ""

    No results matching ""