2010-05-16 4 views
7

J'essaie de comprendre dans un script IE (javascript ou vbscript) quel contrôle ActiveX va gérer un type mime spécifique, "image/tiff " dans ce cas. C'est facile à faire dans d'autres navigateurs qui utilisent des plugins avec;Script du navigateur IE pour déterminer quel (le cas échéant) le contrôle ActiveX gérera un type mime spécifique

navigator.mimeTypes [ "image/tiff"]. EnabledPlugin.name

qui retourne quelque chose comme

Plug-in QuickTime XXX

Je J'ai trouvé plein d'exemples pour savoir si un contrôle ActiveX spécifique est chargé mais comme il y a plusieurs contrôles ActiveX disponibles qui peuvent gérer les images tiff dont j'ai besoin savoir lequel, le cas échéant, est enregistré pour gérer ce type mime. Le problème que j'essaie de résoudre est que QuickTime veut toujours s'enregistrer en tant que visionneuse TIFF par défaut, mais il fait un travail terrible, ce qui entraîne de nombreux appels de support. Malheureusement, détecter simplement que QuickTime est installé n'est pas suffisant car l'utilisateur peut également avoir un autre visualiseur tiff installé (comme Alternatiff) comme visualiseur tiff par défaut ou l'utilisateur peut avoir configuré QuickTime pour ne pas être le visionneur par défaut pour les images tiff. Le navigateur pourrait utiliser une application d'aide pour afficher l'image à la place.

Cela ne signifie pas être difficile, mais avant que quiconque ne suggère des solutions de contournement de réingénierie;

  • oui, je sais que je pourrais forcer l'utilisateur à utiliser un visualiseur ActiveX spécifique dans Internet Explorer ou d'utiliser une visionneuse de tiff Java, mais je préfère les laisser utiliser un spectateur de leur choix plutôt que de les forcer à installer un spectateur de mon choix, d'autant plus que leur visionneuse peut être une application d'aide qui charge l'image tiff dans un flux de travail dans leur bureau
  • oui Je sais qu'il existe d'autres formats d'image que je pourrais utiliser mais tiff est le standard de facto pour l'imagerie documentaire et c'est ce que la grande majorité de ces utilisateurs préfèrent utiliser. Le problème est pas le format d'image, il est que QuickTime ne fonctionne tout simplement pas le couper en tant que spectateur tiff

Merci d'avance pour vos suggestions ou solutions ...

+0

Quel est le résultat final - pour leur fournir une sorte d'avertissement si QuickTime est le gestionnaire par défaut? – BradBrening

+0

Pourquoi ne pas envelopper au format PDF - s'il s'agit d'un scan, vous pouvez facilement changer les en-têtes tiff en pdf pour ccitt g4 par exemple. Sinon, envelopper un lien autour d'une image tiff qui dit Cliquez-moi – mplungjan

+0

Bonjour Brad, oui le résultat final serait de leur fournir un avertissement et un lien vers une page avec des instructions sur les configurations alternatives qui fonctionneraient. – Jay13

Répondre

2

Au moins, avec les capacités actuelles d'Internet Explorateur, il est pratiquement impossible d'atteindre l'objectif que vous vous êtes fixé avec Javascript. Cependant, IE prend également en charge les contrôles ActiveX VBScript et signés. Vous pouvez les utiliser pour créer un widget côté client pour obtenir l'association de type MIME par défaut directement à partir du registre. Windows les conserve dans "HKEY_LOCAL_MACHINE \ Software \ CLASSES". Le RFC2936 - HTTP MIME Type Handler Detection donne une suggestion similaire et a même un échantillon de code.

Si ce qui précède vous semble trop lourd, vous pouvez étendre votre politique initiale de ne pas restreindre l'utilisateur à une visionneuse spécifique. Pourquoi ne pas aller jusqu'au bout et laisser les utilisateurs rester avec QuickTime s'ils l'ont en premier lieu. La machine de l'utilisateur est un territoire privé et vous n'avez aucun moyen de savoir pourquoi QuickTime est là.

J'espère que cela vous aidera à avancer dans la bonne direction.

+0

Hmmm, semble un peu lourd pour écrire un contrôle ActiveX pour comprendre cela. J'avais envisagé de le faire avant, mais cela semblait être trop de travail, cependant, d'après la référence que vous avez citée, il semble que ce soit la seule solution possible. Dans la mesure où les laisser rester avec QuickTime je ne remplacerais jamais leurs paramètres parce que, comme vous le dites, c'est leur machine à faire avec ce qu'ils veulent. Mon intention est simplement de les informer qu'ils auront probablement des problèmes pour visualiser les images Tiff servies par mon application, car QuickTime Viewer ne prend pas en charge la totalité du standard Tiff. Merci Saul ... – Jay13

Questions connexes