web-dev-qa-db-fra.com

Détection de la prise en charge de "application/pdf" dans Microsoft Edge

Notre site essaie de détecter le support pour le type mime application/pdf via un contrôle comme celui-ci:

function isPdfMimeTypeSupported() {
  if (navigator.mimeTypes != null && navigator.mimeTypes.length > 0)
    for (i = 0; i < navigator.mimeTypes.length; i++) {
      var mtype = navigator.mimeTypes[i];
      if (mtype.type == "application/pdf" && mtype.enabledPlugin)
        return true;
    }
  return false;
}

Cela fonctionne comme prévu dans Chrome, mais dans Microsoft Edge, la collection mimeTypes ne comporte que deux entrées:

  • "application/x-shockwave-flash"
  • "application/futuresplash"

La vérification échoue et nous avertissons à tort l’utilisateur que leur navigateur ne prend pas en charge le format PDF. 

S'il existe un moyen de vérifier le support PDF en JavaScript qui fonctionne dans Edge? 

6
Brett Haney

Important: la réponse suivante n’est pertinente que pour une période donnée

Comme indiqué ci-dessus, Microsoft Edge est livré avec le support de visualisation natif PDF. Je ne crois pasil n’existe aucune version de Edge qui manque de cette fonctionnalité, mais s’il en existait une, elle serait très rare.

Nous prévoyons actuellement de mettre à jour le navigator.mimeType dans un avenir rapproché, ce qui fera que votre approche actuelle (présentée ci-dessus) commencera à fonctionner. Jusque-là, je vous encourage à (je me sens mal à l'avoir suggéré) de renifler la chaîne user-agent.

Ce problème sera résolu dans une future mise à jour de Microsoft Edge.

5
Sampson

Vérifiez la version de Windows 10 que vous utilisez.

Si vous utilisez une édition N, la prise en charge de PDF n'est pas disponible immédiatement et vous devez installer le pack de fonctionnalités Windows 10 Media ou Acrobat .

Pour plus d'informations, voir Les éditions Windows N expliquées

1
Mark Cooper