2010-01-12 90 views
2

說我有這條線在我的aspx文件關於錨標記的新手問題

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

我的問題是,PDF文件是由IE瀏覽器打開,我怎麼能強迫它以Adobe Acrobat(相關聯的應用程序打開基本上) 是完全可行或由IE和相關應用以某種方式決定 TIA

回答

5

你不能。這由用戶的計算機處理,而不是您的代碼。

4

IE決定關聯的應用程序。事實上,Windows決定它。客戶端利用術語來決定它。你在服務器端,不能。

+0

嗯... HTML/CSS/JavaScript代碼*是*客戶端...(瀏覽器將其下載到用戶計算機上並在用戶計算機上執行它)。它只是沒有力量來確定瀏覽器處理PDF文檔。 – 2010-01-12 07:26:20

+0

@Steve:HTML/CSS/JS是客戶端。 – 2010-01-12 07:44:35

0

IE和windows是決定性的因素,在這裏不是你的鏈接(只要它具有標準的PDF擴展名)。

1

雖然你不能強迫它,你可以提出建議用戶右鍵點擊鏈接並選擇「保存文件爲」

你可以使用title屬性爲。

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

將在用戶懸停在鏈接上時顯示標題文本。

+0

可以接受的答案.. – 2010-01-12 06:26:49

0

如果您將其部署到IIS,您可以使用鏈接按鈕,處理它並使用正確的標頭流式傳輸PDF以強制acrobat處理它。

3

如果你在Apache上運行(這聽起來好像你不是),你可以將鏈接指向除真實PDF之外的東西。是否指向如下鏈接:href="/documents/blah.pdf"並使用重寫來調用此目錄以將所有請求指向腳本。讓該腳本解析URL並在最後獲取文件名。有一個像「real_documents」這樣的目錄,並讓腳本從該目錄中的真實pdf中獲取pdf內容。將您的Content-Disposition標題設置爲Attachment。符合標準的瀏覽器會將該文件視爲正在下載的文件,而不是正在打開的文件作爲鏈接。用戶將得到一個「你想保存還是運行」,然後該文件在他們設置的任何外部程序中處理該文件類型(而不是瀏覽器如何處理MIME類型)。

但是,爲了讓最終用戶獲得他們可能不想要的體驗,這是很麻煩的。

對不起,我不知道IIS中的確切術語,但我確定它有一個接近1對1的ModRewrite版本。