Question

Quel est le meilleur moyen de déterminer si le navigateur de l'utilisateur peut afficher les fichiers PDF?

Idéalement, cela ne devrait pas importer sur le navigateur ou le système d'exploitation.

Existe-t-il un moyen spécifique de le faire dans ASP.NET ou la réponse ne serait-elle que JavaScript?

Était-ce utile?

La solution

Ni l'un ni l'autre, n'essayez pas.

Re dawnerd : La détection de plug-in n'est pas la bonne réponse. Je n'ai pas installé de plug-in PDF dans mon navigateur (Firefox sur Ubuntu), mais je peux afficher les fichiers PDF à l'aide de la visionneuse de documents du système d'exploitation (qui n'est pas Acrobat Reader).

Aujourd'hui, tout système d'exploitation pouvant exécuter un navigateur Web peut afficher les fichiers PDF sans avoir à les utiliser.

Si un système spécifique n’a pas de visionneuse PDF installé et que le navigateur est configuré pour l’utiliser, cela signifie probablement qu’il s’agit d’une installation manuelle de Windows, d’un système d’exploitation de remplacement très réduit ou de quelque chose de vraiment rétro.

Il est raisonnable de supposer que, quelle que soit la situation, l'utilisateur saura ce qu'est un fichier PDF et choisira délibérément de ne pas pouvoir le consulter ou de savoir comment installer le logiciel requis.

Si je me fais des illusions, j'aimerais bien qu'on me l'explique de quelle manière je me trompe.

Autres conseils

Une recherche rapide sur Google l'a trouvé . Utile pour tous les types de plugins.

Certains utilisateurs choisissent de ne pas ouvrir les fichiers PDF dans le navigateur et de désactiver le plug-in (cela permet d'ouvrir le fichier dans l'application native externe de la fenêtre du navigateur). Il est préférable d'informer l'utilisateur que le logiciel est nécessaire pour ouvrir quelque chose (que ce soit au format PDF ou non) plutôt que d'essayer de détecter si le plug-in est disponible.

Un autre problème lié à la détection est que vous devez rechercher les modifications d’une version à l’autre (par exemple, voir: "PDF.PdfCtrl. *" ou "AcroPDF.PDF. *" pour la visionneuse Adobe PDF. ) et différentes implémentations de navigateurs (les chaînes mentionnées précédemment sont utilisées dans IE par exemple, tandis que Firefox utilise une méthode de détection totalement différente. Nous devons ensuite penser à Opera et Safari et ???). En outre, il existe différents fournisseurs (pensez à Foxit et Ghostscript, bien que je ne sache pas s’ils fournissent un plugin pour le navigateur) où il peut y avoir des différences dans la détection du plugin.

Pour un script écrit en 2008 et des informations supplémentaires sur les mises en garde, voir Détection de plugins dans Internet Explorer (et quelques astuces pour tous les autres) .

Après avoir initialement ignoré les conseils de cette page, l'architecte a poursuivi la détection d'Acrobat, provoquant ainsi un cauchemar inévitable.

Comme Ddaa le mentionne, tous les scénarios ne peuvent pas être capturés avec précision avec la détection de plug-in. Certains utilisateurs, par exemple, peuvent choisir d'afficher des fichiers PDF avec FoxIt Reader plutôt qu'acrobat. Les navigateurs de certains utilisateurs ne signalent pas qu’ils sont prêts pour Acrobat, et certainement pas toujours de la même manière.

Une meilleure solution aurait été de donner à l'utilisateur le choix de la manière dont il souhaite afficher le document en question. Personnellement, je n'aime pas que les sites Web utilisent un plug-in - cela gâche la beauté du Web.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top