2016-05-10 8 views
0

私はjQuery Mobile/Python PyramidHoアプリケーションにIcomoonのアイコンを使用しています。私は現在localhost上でテストしていますが、問題は展開時にも存在します。 ChromeとFirefoxで完全に動作します。 Internet Explorer 11には表示されません。私が知る限り、それらはInternet Explorerによって読み込まれていないこともあります。Icomoonアイコン(svg)がInternet Explorer(ie)にロードされていません

私は運が悪いという問題について、できるだけ多くを読んでいます。

私は、タグの上

<meta http-equiv="X-UA-Compatible" content="IE=edge"> 

で次のメタタグを配置している私は、HTML5のSHIVを追加しました:

<!--[if lt IE 9]> 
     <script src="http://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"> </script> 
    <![endif]--> 

は私の応答は、これらの設定があります。

response.cache_control.no_store = (bool) False 
response.pragma = None 

私はこのようなアイコンを使用しています:

  <a href="demo_home" data-role="button" class="mp-menu-btn"> 
       <span class="mp-circle mp-bg-drkblue mp-menu-btn-icon-bg"></span> 
       <svg class="icon icon-home2 mp-menu-btn-icon"><use xlink:href="/static/graphics/icons/symbol-defs.svg#icon-home2"></use></svg> 
       <span class="mp-btn-text mp-font-xlg">Demos</span> 
      </a> 

svgファイルをロードしてInternet Explorerでアイコンを表示するにはどうすればよいですか?

EDIT

いくつかのより多くのデバッグを行った後、私ははっきりとSVGのアイコンファイルの要求も私のバックエンドのピラミッドサーバーになっていません見ることができます。 IEがリクエストをブロックしているか無視しています。

答えて

0

私はこれまでに苦しんできました。 IEはSVGへのすべての外部呼び出しを無視します。簡単な答えは、HTMLの本文に<symbol>のデフを含めることです。これらの<symbol>は、とにかく隠されているため、他のDOM要素を邪魔することはありません。それからあなたは現在のページにxlinkする必要があります。あなたは(ちょっと、それは合理的な嫌悪感だ)<symbols>の弾幕であなたの美しいページをmuddyingによって病気にしている場合

<use xlink:href="#icon-home2"></use> 

svg4everybodyを使用して、あなたの意志に曲がるようにIEを強制します。

+1

ありがとうございます。 IEはそのようなごみです。あなたがIEでSVGを使うために追加のスクリプトが必要だと答える前に、私は理解しました。 Icomoonは 'svgxuse'を推奨しました。しかし、jquery mobileを使って確実に動作させることはできませんでした。私は 'svg4everybody'を試してみたので、最初はうまくいきました。再度、感謝します。 –

関連する問題