Как я могу добавить класс тела в Magento Go, если браузер IE8? [закрыто]


Я использую следующий XML-файл обновления пользовательского макета в Magento Перейдите к добавлению класса тела, если браузер IE8. В настоящее время этот код добавляет класс для каждого браузера вместо только IE8. Как я могу написать это так, чтобы он добавлял класс только для IE8?

<reference name="root">
  <action method="addBodyClass">
    <classname>ie8</classname>
    <if>IE 8</if>
  </action>
</reference>
Author: tacudtap, 2013-09-17

1 answers

[ Редактировать]

Добавьте js ниже в нижний колонтитул. и это должно сработать.

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');
   }
}

У меня нет опыта работы с Magento GO, но если он похож на CE или EE, у вас должна быть текстовая область на панели конфигурации, где вы можете добавить разные javascript.

[ СТАРЫЙ ответ для Magento CE или EE] То, что вы пытаетесь, не сработает. addBodyClass мейход принимает только один параметр... имя класса.
Что вы можете сделать, так это создать файл js с помощью этого содержание:

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

Давайте назовем этот файл 'ie8.js "и поместите его в папку js. Теперь в свой файл макета добавьте следующее:

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

Очистите кэш и запустите его.

 1
Author: Marius, 2013-09-17 17:09:08