【发布时间】:2011-04-26 16:03:11
【问题描述】:
我想让用户在浏览器中单击一个文件(比如说一个 .doc 链接),它将打开本机桌面应用程序(本例中为 Microsoft Word)。
当用户保存文档时,它将保存在网络中。
有没有办法使用 Javascript/HTML 5 执行此操作,还是用户必须下载文件才能使用本机应用程序打开它?
【问题讨论】:
标签: javascript html windows macos
我想让用户在浏览器中单击一个文件(比如说一个 .doc 链接),它将打开本机桌面应用程序(本例中为 Microsoft Word)。
当用户保存文档时,它将保存在网络中。
有没有办法使用 Javascript/HTML 5 执行此操作,还是用户必须下载文件才能使用本机应用程序打开它?
【问题讨论】:
标签: javascript html windows macos
如果您在页面上提供指向此文件的链接:
<a href="http://example.com/foo.doc">Open foo.doc</a>
它将在用户计算机上使用与此扩展关联的默认应用程序打开。
如果您希望它在浏览器内内联打开而没有任何弹出对话框,您可以尝试在服务器上设置Content-Disposition HTTP header:Content-Disposition: inline;filename=foo.txt。当然,客户端应用程序必须有一个插件版本,该插件版本可以与浏览器一起使用并且能够内联打开文件(例如 Adobe Acrobat Reader 就是这种情况)。
就您问题的第二部分而言,HTTP 协议规范中绝对没有任何内容允许您这样做,因此为了实现它,它需要定制。客户端程序需要能够与服务器通信并将修改后的文件版本发回。
【讨论】:
除非客户端应用程序特别支持,否则无法保存回您的站点。
【讨论】: