Как добавить класс тела в Magento Go, когда браузер IE8? [закрыто
-
16-10-2019 - |
Вопрос
Я использую следующее пользовательское обновление макета XML в Magento, чтобы добавить класс тела, если браузер IE8. В настоящее время этот код добавляет класс для каждого браузера вместо IE8. Как я могу написать это, чтобы это добавило только класс для IE8?
<reference name="root">
<action method="addBodyClass">
<classname>ie8</classname>
<if>IE 8</if>
</action>
</reference>
Решение
Редактировать
Добавьте 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>
Очистить кеш и попробовать.