¿Cómo funciona? #Iefix resuelve las fonts web que se cargan en IE6-IE8?

Muchos artículos en la web como este: http://www.fontspring.com/blog/fixing-ie9-font-face-problems sugieren agregar un ?#iefix a la url actual. Tenía curiosidad por saber cómo va a resolver esto el problema. Gracias.

IE8 y el anterior tienen un error en sus analizadores para el atributo src. Entonces, si incluye más de 1 formato de fuente en el SRC, IE no puede cargarlo e informa un error 404.
El signo de interrogación resuelve ese problema ya que engaña al IE para que piense que el rest de la cadena (other src) es una cadena de consulta y, por lo tanto, solo carga el archivo EOT …
Otros navegadores seguirán las especificaciones y solo cargarán el tipo de letra requerido …
Puede leer la syntax Bulletproof @ font-face de Paul Irish para saber más sobre algún otro por qué …

Podrías hacer cualquier cosa en lugar de ?#iefix : el objective básico es poner un ?#something después del primer archivo de fuente en la URL como @Rexyz ya ha respondido.

 @font-face { font-family: 'MyWebFont'; src: url('webfont.eot'); /* IE9 Compat Modes */ src: url('webfont.eot?#FooAnything') format('embedded-opentype'), /* IE6-IE8 */ url('webfont.woff') format('woff'), /* Modern Browsers */ url('webfont.ttf') format('truetype'), /* Safari, Android, iOS */ url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */ } 

El ?#iefix está ahí para detener al navegador interpretando cualquier caracter después del ? como una cadena de consulta y, por lo tanto, evita otro posible error del servidor.

Completamente darse cuenta de esto es una vieja pregunta.

Pero para aquellos que vinieron aquí buscando qué versión de “ese” navegador necesitaba este truco, ahora es seguro eliminarlo si no es compatible con IE <10.

Así que deshazte de él y ten una sola línea que enumere todas las fonts en todos los formatos que ofreces.