Come posso aggiungere una classe Corpo in Magento Go quando il browser viene IE8? [chiuso]
-
16-10-2019 - |
Domanda
Sto usando il seguente aggiornamento Layout personalizzato XML in Magento Go per aggiungere una classe corpo se il browser è IE8. Attualmente questo codice aggiunge la classe per tutti i browser anziché soltanto IE8. Come faccio a scrivere questo modo si aggiunge solo la classe per IE8?
<reference name="root">
<action method="addBodyClass">
<classname>ie8</classname>
<if>IE 8</if>
</action>
</reference>
Soluzione
[Edit]
Aggiungi i js di seguito nel piè di pagina. e dovrebbe funzionare.
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');
}
}
non ho esperienza con Magento GO ma se è simile a CE o EE si dovrebbe avere una textarea nel pannello di configurazione in cui è possibile aggiungere javascript varie.
[risposta OLD per Magento CE o EE]
Quello che si sta cercando non funzionerà. Il meyhod addBodyClass
acceps un solo paramerter ... il nome della classe.
Che cosa si può fare è quello di creare un file js con questo contenuto:
document.observe("dom:loaded", function() {
$$('body')[0].addClassName('ie8');
});
chiamata di Let questo file 'ie8.js' e posizionarlo nella cartella js. Ora nel tuo file di layout aggiungere questo:
<default>
<reference name="head">
<action method="addItem">
<type>js</type>
<name>ie8.js</name>
<params/><if>IE 8</if>
</action>
</reference>
</default>
Svuota cache e dare un andare.