2010-01-12 6 views
2

Dire que j'ai cette ligne dans mon fichier ASPXquestion débutant à propos de balise d'ancrage

<li> 
    <a href="../products/handout.pdf" target="_blank"> 
     Desktop and Laptop Installations 
    </a> 
</li> 

Mon problème est que le fichier PDF est ouvert par IE, Comment puis-je forcer à ouvrir dans Adobe Acrobat (l'application associée fondamentalement) est-ce faisable à tous ou est-ce décidé par IE et l'application associée en quelque sorte TIA

Répondre

5

Vous ne pouvez pas. Cela est géré par l'ordinateur de l'utilisateur, pas votre code. L'IE et les fenêtres sont le facteur décisif ici pas votre lien (tant qu'il a l'extension .PDF standard)

4

IE décide l'application associée. En fait, Windows le décide. En utilisant des terminologies, le client le décide. Vous êtes sur le serveur et vous ne pouvez pas.

+0

Hmm ... Le code HTML/CSS/JavaScript * est * côté client ... (Le navigateur le télécharge et l'exécute sur l'ordinateur de l'utilisateur.) Il n'a tout simplement pas le pouvoir de déterminer comment le le navigateur gère un document PDF. –

+0

@Steve: HTML/CSS/JS est côté client. –

1

Alors que vous ne pouvez pas forcer, vous pouvez faire une recommandation à l'utilisateur à droite cliquez sur le lien et sélectionnez « Enregistrer le fichier sous »

Vous pouvez utiliser l'attribut title pour cela.

<a href="some.pdf" title="To save this file, right click, and select 'Save file as'">Some PDF File</a> 

afficherait le texte du titre lorsque l'utilisateur survole le lien.

+0

réponse acceptable .. –

0

Si vous déployez cela dans IIS, vous pouvez utiliser un bouton de lien, le gérer en mode différé et diffuser le fichier PDF avec l'en-tête correct pour forcer acrobat à le gérer.

3

Si vous étiez en cours d'exécution sur Apache (ce qui semble ne pas être le cas), vous pouvez faire pointer le lien vers autre chose qu'un vrai PDF. Avoir point à un lien comme: href="/documents/blah.pdf" et d'utiliser une réécriture pour les appels à ce répertoire qui pointe toutes les demandes à un script. Avoir ce script analyser l'URL et obtenir le nom du fichier à la fin. Avoir un répertoire comme "real_documents" et que le script récupère le contenu du pdf du vrai pdf dans ce répertoire. Définissez votre Content-Disposition en-tête à Attachment. Un navigateur conforme traitera le fichier comme s'il était en train d'être téléchargé au lieu d'être ouvert en tant que lien. L'utilisateur obtiendra un "voulez-vous enregistrer ou exécuter" et ensuite le fichier est ouvert dans n'importe quel programme externe qu'ils ont défini pour gérer ce type de fichier (par opposition à la façon dont le navigateur gère le type MIME).

Cependant, cela représente beaucoup de problèmes pour que l'utilisateur final obtienne une expérience dont il ne voudra probablement pas. Désolé, je ne connais pas la terminologie exacte dans IIS, mais je suis sûr qu'il existe une version 1-à-1 de ModRewrite pour cela.