détecter si le téléchargement des polices dans IE est activé
Est-il un moyen de détecter si le téléchargement de police de la propriété dans internet explorer est activée ou désactivée?
Actuellement si je devais mettre en œuvre un @font-face (solution de police-un écureuil ou un typekit ou autres) pour la police-rendu, tous les navigateurs jouera nice sauf si internet explorer a son "Téléchargement de Police" option est désactivée.
Ce paramètre peut être trouvé dans IE > Options Internet > Sécurité > Niveau > Téléchargements > télécharger de la Police > Activer/Désactiver.
Si je peut détecter cette option, je pourrais revenir à des méthodes javascript.
Ces solutions ne fonctionnent pas comme cette option n'a pas fait de désactiver la fonction, il vous empêche de télécharger de se produire:
- http://paulirish.com/2009/font-face-feature-detection/
- http://www.lalit.org/lab/javascript-css-font-detect/
EDIT: je tiens à préciser que nous ne pouvons pas ne pas utiliser une solution côté serveur, il doit être purement script côté client.
OriginalL'auteur Scorpius | 2011-11-01
Vous devez vous connecter pour publier un commentaire.
Que cette fonction empêche le téléchargement de l'occurrence, une (un peu sale) solution serait de demander à IE pour télécharger une soi-disant de la police qui est en fait un simple script sur votre serveur qui les met par exemple. un cookie en disant: “ok, il gots de la police” et renvoie une page vide. Lorsque l'utilisateur charge la page suivante, vous allez déployer le Javascript de machines, si le cookie n'existe pas.
Téléchargement en utilisant JS sera bien évidemment de travail quelle que soit l'option. Vous pour demander IE pour télécharger la police en mettant un @font-face qui mène vers le script je l'ai expliqué, de sorte que vous pouvez voir si le navigateur télécharge ou pas. Si vous ne pouvez pas faire quoi que ce soit sur le serveur, et bien, je crois que vous êtes foutu.
OriginalL'auteur zopieux
Je me rends compte que cette question est ancienne, mais ce problème existe toujours pour certains utilisateurs de l'internet avec la plus stricte de la sécurité des TI. J'ai regardé dans les solutions ci-dessus et d'autres, mais ils n'ont pas bien fonctionné pour moi, j'ai donc trouvé une autre solution qui ne nécessite pas de code côté serveur, pas de javascript, et pas de css. Son essentiellement de la magie, mais il a quelques limitations.
Limitation 1: Cela ne fonctionne que pour l'icône polices qui utilisent nombre élevé codepoints pour afficher les images. Il ne fonctionnera pas pour la police des polices pour le texte lisible.
Limitation 2: Vous devez trouver une norme UTF-8 symbole qui est un substitut approprié pour votre icône personnalisée.
Par exemple, si vous avez une police personnalisée que vous utilisez pour afficher un symbole d'étoile, une solution de repli pour ce serait de point de code unicode 0x2605 ★. Donc, dans votre police de génération de code, vous avez besoin de coder en dur qui codepoint à votre classe css pour votre icône en forme d'étoile. Si vous étiez à l'aide de "grunt-webfont" vous faire quelque chose comme ceci dans votre grunt fichier:
L'étoile est un parfait exemple, il peut être difficile de trouver une UTF8 remplacement pour votre fantaisie icônes si cela peut ne pas fonctionner pour tout le monde. Considérant que ce problème affecte un très petit nombre d'utilisateurs, nous avons estimé qu'il était approprié solution transparente qui n'a pas d'impact sur les utilisateurs réguliers avec extra js/css/cookie trucs.
OriginalL'auteur Jake
@Zopieux diagramme de flux, j'ai réussi à faire ce script fonctionne pour IE6-9 lorsque la police de téléchargement est désactivé, ce qui dans mon cas était un client comme les autres les intranets d'entreprise ont pas ce paramètre.
CSS:
PHP, lorsque la police face src url est demandé, il tire ce script qui vérifie le type, définit le cookie, et qui sert à la webfont de choix. Si la police de téléchargement est activé et que vous n'avez pas re-route vers le fichier de police, IE va jeter un @font-face d'erreur:
JS, puis sur le côté client, faire quelque chose de ce genre pour vérifier le cookie, et d'effectuer l'alternative comme cufon-yui.js ou typeface.js:
OriginalL'auteur Scorpius