IE8 no soporta querySelectorAll


Traté de usar document.querySelectorAll(), pero error de tiro IE8, que

El objeto no soporta esta propiedad o método

var titleCheckBox = document.querySelectorAll("");

Aquí http://www.quirksmode.org/dom/w3c_core.html#t13 escrito, que IE8 apoyar este método. ¿Qué hago mal?

Author: BoltClock, 2013-06-04

2 answers

Compruebe que su página no está en modo Peculiares o modo de compatibilidad. Puede usar las herramientas de desarrollo de F12 para confirmar esto. Pulse F12 y busque en la esquina superior derecha de la ventana resultante. Si ves "Compatibilidad " o" Peculiaridades " en la descripción del modo, entonces has encontrado el problema.

  • Modo Quirks: esto generalmente se activa por un Doctype faltante o roto. Si este es el caso, asegúrese de que su página comienza con el siguiente:

    <!DOCTYPE html>
    
  • Modo de compatibilidad (modo IE7): Esto puede activarse si está viendo la página localmente (es decir, ejecutándola en su máquina local, por ejemplo, para pruebas, o en su red local). En este caso, usted está siendo golpeado por una configuración de IE que debe desactivar. Vaya al menú Herramientas y elija la opción Configuración de vista de compatibilidad. Desmarca las opciones de compatibilidad y la página comenzará a funcionar.

    El modo Compat también puede activarse (o evitarse) por una meta etiqueta X-UA-Compatibility. Si tiene problemas con el modo de compatibilidad, esta es una buena manera de evitarlo: Agregue la siguiente línea a su código:

    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    

Cualquiera (o ambos) de los anteriores podría ser el problema, pero mi conjetura es que el problema es el modo de compatibilidad. La configuración de compat-mode-on-intranet-sites es sorprendentemente poco conocida, y atrapa a mucha gente, incluso a algunos desarrolladores experimentados.

 50
Author: Spudley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-04 14:50:37

IE8 solo soporta querySelectorAll() en modo estándar. De MSDN :

La API de Selectores se define como parte de la especificación Selectors API y solo está disponible para las páginas Web que se muestran en el modo estándar IE8.

Es probable que su página no tenga una declaración DOCTYPE adecuada; necesitará agregar una.

 12
Author: BoltClock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-04 14:33:24