說我有這條線在我的aspx文件關於錨標記的新手問題
<li>
<a href="../products/handout.pdf" target="_blank">
Desktop and Laptop Installations
</a>
</li>
我的問題是,PDF文件是由IE瀏覽器打開,我怎麼能強迫它以Adobe Acrobat(相關聯的應用程序打開基本上) 是完全可行或由IE和相關應用以某種方式決定 TIA
說我有這條線在我的aspx文件關於錨標記的新手問題
<li>
<a href="../products/handout.pdf" target="_blank">
Desktop and Laptop Installations
</a>
</li>
我的問題是,PDF文件是由IE瀏覽器打開,我怎麼能強迫它以Adobe Acrobat(相關聯的應用程序打開基本上) 是完全可行或由IE和相關應用以某種方式決定 TIA
你不能。這由用戶的計算機處理,而不是您的代碼。
IE決定關聯的應用程序。事實上,Windows決定它。客戶端利用術語來決定它。你在服務器端,不能。
IE和windows是決定性的因素,在這裏不是你的鏈接(只要它具有標準的PDF擴展名)。
雖然你不能強迫它,你可以提出建議用戶右鍵點擊鏈接並選擇「保存文件爲」
你可以使用title屬性爲。
<a href="some.pdf" title="To save this file, right click, and select 'Save file as'">Some PDF File</a>
將在用戶懸停在鏈接上時顯示標題文本。
可以接受的答案.. – 2010-01-12 06:26:49
如果您將其部署到IIS,您可以使用鏈接按鈕,處理它並使用正確的標頭流式傳輸PDF以強制acrobat處理它。
如果你在Apache上運行(這聽起來好像你不是),你可以將鏈接指向除真實PDF之外的東西。是否指向如下鏈接:href="/documents/blah.pdf"
並使用重寫來調用此目錄以將所有請求指向腳本。讓該腳本解析URL並在最後獲取文件名。有一個像「real_documents」這樣的目錄,並讓腳本從該目錄中的真實pdf中獲取pdf內容。將您的Content-Disposition
標題設置爲Attachment
。符合標準的瀏覽器會將該文件視爲正在下載的文件,而不是正在打開的文件作爲鏈接。用戶將得到一個「你想保存還是運行」,然後該文件在他們設置的任何外部程序中處理該文件類型(而不是瀏覽器如何處理MIME類型)。
但是,爲了讓最終用戶獲得他們可能不想要的體驗,這是很麻煩的。
對不起,我不知道IIS中的確切術語,但我確定它有一個接近1對1的ModRewrite版本。
嗯... HTML/CSS/JavaScript代碼*是*客戶端...(瀏覽器將其下載到用戶計算機上並在用戶計算機上執行它)。它只是沒有力量來確定瀏覽器處理PDF文檔。 – 2010-01-12 07:26:20
@Steve:HTML/CSS/JS是客戶端。 – 2010-01-12 07:44:35