ブラウザがIE8の場合、Magento Goにボディクラスを追加するにはどうすればよいですか? [閉まっている

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

  •  16-10-2019
  •  | 
  •  

質問

ブラウザがIE8の場合、次のカスタムレイアウトアップデートXMLをMagentoで使用してボディクラスを追加します。現在、このコードは、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 Meyhodは、1つのパラメーターのみ...クラス名。
できることは、このコンテンツで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>

キャッシュをクリアして、試してみてください。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top