¿Cómo puedo agregar una clase de cuerpo en Magento Go cuando el navegador es IE8? [cerrado

magento.stackexchange https://magento.stackexchange.com/questions/8101

  •  16-10-2019
  •  | 
  •  

Pregunta

Estoy usando el siguiente diseño de diseño personalizado XML en Magento, vaya a agregar una clase de cuerpo si el navegador es IE8. Actualmente, este código agrega la clase para cada navegador en lugar de solo IE8. ¿Cómo puedo escribir esto para que solo agrega la clase para IE8?

<reference name="root">
  <action method="addBodyClass">
    <classname>ie8</classname>
    <if>IE 8</if>
  </action>
</reference>
¿Fue útil?

Solución

Editar

Agregue el JS a continuación en el pie de página. Y debería funcionar.

if (navigator.appName == "Microsoft Internet Explorer") {
    var ua = navigator.userAgent;
    var re = new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
   //If the regEx through the userAgent is not null
   ieVersion = -1;
   if (re.exec(ua) != null) {
      //Set the IE version
      ieVersion = parseInt(RegExp.$1);
   }
   if (ieVersion == 8){
      $$('body')[0].addClassName('ie8');
   }
}

No tengo experiencia con Magento GO, pero si es similar a CE o EE, debe tener un TextARea en el panel de configuración donde puede agregar JavaScript misceláneo.

Antigua respuesta para magento o eeLo que estás intentando no funcionará. los addBodyClass Meyhod acceps solo un parámetro ... el nombre de la clase.
Lo que puede hacer es crear un archivo JS con este contenido:

document.observe("dom:loaded", function() {
    $$('body')[0].addClassName('ie8');
});

Llamemos a este archivo 'ie8.js' y colóquelo en la carpeta JS. Ahora en su archivo de diseño, agregue esto:

<default>
    <reference name="head">
        <action method="addItem">
           <type>js</type>
           <name>ie8.js</name>
           <params/><if>IE 8</if>
        </action>
    </reference>
</default>

Borre el caché y pruébelo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top