---
url: 'https://metadrop.net/es/articulos/forzar-el-modo-de-compatiblidad-en-ie'
title: 'Forzar el modo de compatiblidad en IE'
author: Jotha
date: '2017-01-17T09:56:17+00:00'
updated: '2026-08-04T07:54:58+00:00'
type: article
summary: 'Cómo prevenir algunos errores relacionados con la visualización en versiones antiguas de IE forzando el modo de compatibilidad.'
tags:
  - IE
  - Theming
  - Compatibility
published: true
og:
  determiner: Automatic
  site_name: Metadrop
  'image:alt': 'Forzar el modo de compatiblidad en IE'
  street_address: 'Calle Manuel Luna, 12, 3 Dcha'
  locality: Madrid
  region: Madrid
  postal_code: '28020'
  country_name: España
  email: hola@metadrop.net
  phone_number: '910053180'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      '@type': Article
      '@id': 'https://metadrop.net/es/articulos/forzar-el-modo-de-compatiblidad-en-ie#article'
      name: 'Forzar el modo de compatiblidad en IE'
      headline: 'Forzar el modo de compatiblidad en IE'
      description: "Cómo prevenir algunos errores relacionados con la visualización en versiones antiguas de\_IE \_forzando el modo de compatibilidad."
      about:
        - IE
        - Theming
        - Compatibility
      datePublished: '2013-12-10T08:00:00+0100'
      dateModified: '2026-08-04T09:54:58+0200'
      author:
        '@type': Person
        name: Jotha
      publisher:
        '@type': Organization
        '@id': 'https://metadrop.net/#organization'
      mainEntityOfPage: 'https://metadrop.net/es/articulos/forzar-el-modo-de-compatiblidad-en-ie'
    -
      '@type': Organization
      '@id': 'https://metadrop.net/#organization'
      url: 'https://metadrop.net/'
      name: Metadrop
      sameAs:
        - 'https://www.drupal.org/metadrop'
        - 'https://twitter.com/metadrop'
        - 'https://asociaciondrupal.es/partner/metadrop'
        - 'https://www.linkedin.com/company/metadrop'
      logo:
        '@type': ImageObject
        url: 'https://metadrop.net/themes/custom/mdrop_radix/logo-metadrop-500-500.jpg'
        width: '500'
        height: '500'
    -
      '@type': ItemPage
      '@id': 'https://metadrop.net/es/articulos/forzar-el-modo-de-compatiblidad-en-ie'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: Inicio
            item: 'https://metadrop.net/es'
          -
            '@type': ListItem
            position: 2
            name: 'Artículos expertos sobre Drupal y tecnología'
            item: 'https://metadrop.net/es/articulos'
      publisher:
        '@type': Organization
        '@id': 'https://metadrop.net/#organization'
---
 1. [Artículos](https://metadrop.net/es/articulos)
 
  

# Forzar el modo de compatiblidad en IE

Martes 10 de Diciembre de 2013

 

 



Cómo prevenir algunos errores relacionados con la visualización en versiones antiguas de IE forzando el modo de compatibilidad.



   



Cuando Internet Explorer carga una página web, como se visualiza no depende de la versión de navegador, sino del modo de "compatibilidad" o de "documento" que tenga activado. Esta funcionalidad se representa con un icono de una página rota en la barra de navegador. Desconozco las causas por lo que esta funcionalidad se activa en los usuarios, pero es algo que es más común de lo que pensamos. Los modos posibles que tienen los navegadores son:

- IE7: Solo permite el modo de documento IE7.
- IE8: Permite los modos de documento IE7 e IE8.
- IE9-IE10: Permite todos los modos de documentos posibles.

Esto puede hacer que una persona visualice una página web con IE8, pero lo vea como si fuese IE7 (problema más común que suele suceder y que he podido comprobar una y otra vez). Para solucionar este problema, podemos "forzar" el modo de documento que cada versión debe emular. Para ello, utilizo el siguiente código que fuerza el modo de compatibilidad a la versión correspondiente:

Fichero: template.php

```php
/**
 * Implements template_preprocess_page().
 */
function anpp_preprocess_page(&$vars) {
  $agent = strtolower($_SERVER['HTTP_USER_AGENT']);
  if (stristr($agent, 'msie') !== FALSE) {
    // Localizamos la versión de navegador.
    $pattern = '/.*msie ([0-9]*)\..*/';
    $matches = array();
    preg_match($pattern, $agent, $matches);
    if ($matches[1]) {
      $class = 'ie' . $matches[1];
    }
  }
  if (isset($class)) {
    switch ($class) {
      case 'ie7':
        drupal_set_html_head('<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>');
      break;
      case 'ie8':
        drupal_set_html_head('<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>');
      break;
      case 'ie9':
        drupal_set_html_head('<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"/>');
      break;
    }
  }
}
```

Este código es para drupal 6. En caso de Drupal 7 se debe sustituir la función [drupal\_set\_html\_head](https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_set_html_head/6) por la función [drupal\_add\_html\_head](https://api.drupal.org/api/drupal/includes--common.inc/function/drupal_add_html_head/7). El uso de la función en Drupal 7 es algo más complejo, pero puede verse un ejemplo para esta misma etiqueta en los [comentarios de la función](https://api.drupal.org/comment/18004#comment-18004) en api.drupal.org.

También es posible forzar a que use la última versión que puede emular mediante *edge:*

```plaintext
drupal_set_html_head('');
```



[IE](https://metadrop.net/es/articulos?text=IE)

[Theming](https://metadrop.net/es/articulos?text=Theming)

[Compatibility](https://metadrop.net/es/articulos?text=Compatibility)

 

[Drupal UX/UI Diseño digital](https://metadrop.net/es/servicios/estrategia-digital/drupal-uxui-diseno-digital " See Drupal UX/UI Diseño digital")

Metadrop diseña sistemas UX/UI accesibles y basados en datos para plataformas digitales enterprise: sistemas de diseño escalables que cumplen WCAG y mejoran la conversión.

 

 Ver más