2016-05-10 9 views
0

Ich benutze Icomoon Icons für meine jQuery Mobile/Python PyramidHo App. Ich teste gerade auf localhost, aber das Problem besteht auch bei der Bereitstellung. Sie funktionieren perfekt für Chrome und Firefox. Sie werden nicht im Internet Explorer 11 angezeigt. Soweit ich feststellen kann, werden sie nicht einmal vom Internet Explorer geladen.Icomoon Icons (svg) lädt nicht im Internet Explorer (ie)

Ich habe so viel wie möglich über das Problem gelesen, ohne Glück.

ich das folgende Meta-Tag an der Spitze von meinem Tag gelegt haben

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

ich die html5 shiv hinzugefügt haben:

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

Meine Antwort hat folgende Einstellungen:

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

Ich verwende das Symbol wie folgt:

  <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> 

Wie kann ich die Svg-Datei laden und die Symbole in Internet Explorer angezeigt werden?

EDIT

Nach etwas mehr Debuggen tun wird immer ich kann eindeutig die Anforderung für die SVG-Icon-Datei, nicht einmal zu meinen Backend Pyramide Server. IE blockiert oder ignoriert die Anfrage.

Antwort

0

Ich habe durch diese vorher erlitten. IE ignoriert alle externen Aufrufe von SVG. Die einfache Antwort ist, Ihre <symbol> defs in den Körper Ihres HTML einzuschließen. Da diese <symbol> s sowieso ausgeblendet sind, stören sie keine anderen DOM-Elemente. Dann müssen Sie xlink auf der aktuellen Seite.

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

Wenn Sie mit dem muddying Ihre schöne Seite mit einer Flut von <symbols> krank gemacht sind (hey, es ist eine vernünftige Ekel), verwenden svg4everybody und IE zwingen, deinen Willen zu beugen.

+1

Vielen Dank. IE ist solcher Müll. Ich habe herausgefunden, bevor Sie geantwortet haben, dass ich ein zusätzliches Skript benötigt, um SVG in IE zu verwenden. Icomoon hat 'svgxuse' empfohlen. Mit jquery mobile konnte ich jedoch nicht zuverlässig arbeiten. Es gab einige Konflikte, die ich müde vom Aufspüren war, also versuchte ich "svg4everybody" und es funktionierte das erste Mal. Danke noch einmal. –