簡體   English   中英

在Chrome中強制自動打開對話框

[英]Force Auto Open Dialog in Chrome

FileRun有一個漂亮的File-Explorer Google-Drive風格。 你可以在這里testdrive FileRunDemoSite

當我下載文件時,我選擇是否要直接在Office應用程序中打開文件。

打開對話框

當我點擊Office時,谷歌會提示我使用Chrome打開文件對話框。 文件直接從位置打開,而不是在/ downloads /文件夾中保存。

在此輸入圖像描述

我怎樣才能實現這種行為? 關於SA的所有現有答案都表明這是不可能的,所以這對其他人來說可能也很有趣。 甚至谷歌都沒有實現這一點。 是否有跨瀏覽器解決方案?

Onedrive也是這樣做的:

在此輸入圖像描述

感謝Thomas2D讓我走上正軌。 它基本上是如何工作的:

如果您開發應用程序,則可以在操作系統中注冊新協議。 http://將由您的默認瀏覽器處理。 applicationX://將由applicationX處理, ms-word://將由word處理。 如果單擊鏈接,瀏覽器/操作系統將查找哪個應用程序應處理協議,並將請求傳遞給此應用程序。

對於Office文檔,URI有點復雜ms- excel:ofv|u|http://contoso/Q4/budget.xls 您可以只讀/打開/作為模板打開它。 查看此文檔以獲取所有選項的詳細說明: Office URI方案

對於其他應用程序,請檢查該應用程序的URI方案。

如何在網站上使用它:

不建議在Dom元素href屬性中設置應用程序的鏈接。 您無法檢查應用程序是否已安裝。

如果您使用Javascript,您可以檢查請求是否超時/失敗並使用http://代替。

href: window.location.href = encodeURI('ms-excel:ofe|u|http://example.com/excel.xlsx')設置協議,或者通過設置location.protocolhttps:// www.w3schools.com/jsref/prop_loc_protocol.asp

有一個jQuery插件可以做到這一點: jquery.applink.js

我個人認為這是通過特定網址啟動應用程序來完成的。

我知道這適用於iOS以啟動應用程序。 在iOS中它是由某些東西完成的(simillar到mailto:example@example.com

<script type="text/javascript" charset="utf-8"> 
window.location = "myapplication://myparams";
</script>

編輯:我終於明白了,你必須使用應用程序網址方案。 例如,如果要通過瀏覽器打開Excel文件,則必須使用此JS代碼。

window.location.href = encodeURI('ms-excel:ofe|u|http://example.com/excel.xlsx');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM