FileRun有一个漂亮的File-Explorer Google-Drive风格。你可以在这里试驾FileRunDemoSite
当我下载文件时,我可以选择是否要直接在Office应用程序中打开文件。
当我点击Office时,Google会提示我使用Chrome打开文件对话框。文件直接从该位置打开,而不是在/ downloads /文件夹中保存。
我该如何实现这种行为?关于SA的所有现有答案都表明这是不可能的,所以这对其他人来说可能也很有趣。甚至谷歌都没有实现这一点。是否有跨浏览器解决方案?
Onedrive也是这样做的:
答案 0 :(得分:1)
感谢Thomas2D让我走上正轨。它基本上是如何工作的:
如果您开发应用程序,则可以在操作系统中注册新协议。 http://
将由您的默认浏览器处理。 applicationX://
将由applicationX处理,ms-word://
将由word处理。如果您点击链接,浏览器/操作系统会查找哪个应用程序应该处理协议,并将请求传递给此应用程序。
对于Office文档,URI有点复杂 - excel:ofv|u|http://contoso/Q4/budget.xls
。您可以只读/打开/作为模板打开它。查看此文档以获取所有选项的详细说明:Office URI Schemes
对于其他应用程序,请检查该应用程序的URI方案。
如何在网站上使用
不建议在Dom元素href属性中设置应用程序的链接。您无法检查应用程序是否已安装。
如果您使用Javascript,则可以检查请求是否超时/失败并改为使用http://
。
。将协议设置为href: window.location.href = encodeURI('ms-excel:ofe|u|http://example.com/excel.xlsx')
或设置location.protocol
,https://www.w3schools.com/jsref/prop_loc_protocol.asp
有一个jQuery插件可以做到这一点:jquery.applink.js
答案 1 :(得分:0)
我个人认为这是通过特定网址启动应用程序来完成的。
我知道这适用于iOS以启动应用程序。在iOS中,它是由某种东西完成的(simillar to 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');