execCommand SaveAs 在 Firefox 中工作吗?
为什么这在 ff/chrome 中不起作用?
javascript: document.execCommand('SaveAs','true','http://www.google.com');
(用作书签)
Why does this not work in ff/chrome?
javascript: document.execCommand('SaveAs','true','http://www.google.com');
(used as a bookmarklet)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
可以通过 数据 URI 在 Firefox 中执行此操作(另请参阅下载数据 url 文件 ),也可以选择通过 download 属性。
请参阅 http://html5-demos.appspot.com/static/a.download .html 用于 HTML5 shim 演示。
如何强制另存为对话框Firefox 除了更改标题? 也涵盖了这个主题。
您还可以通过以下经过 Firefox 测试的演示来测试它。
以下方法也适用于 URL 以及不带下载属性的 JavaScript 发起的加载(尽管此方法不允许使用文件名,但它允许在新选项卡中预览):
It is possible to do this in Firefox via data URIs (see also Download data url file ) and optionally via the download attribute.
See http://html5-demos.appspot.com/static/a.download.html for an HTML5 shim demo.
How to force save as dialog box in firefox besides changing headers? also covers this topic.
You can also test it by the following Firefox-tested demo.
The following also works for URLs as well as JavaScript-initiated loads without the download attribute (though this approach does not allow a file name, it does allow a preview in a new tab):
execCommand 并未在浏览器之间完全标准化。 事实上, execCommand('SaveAs', ...) 似乎只在 IE 上受支持。 强制另存为的推荐方法是使用 content-disposition: 附件标头,如 http://www.jtricks.com/bits/content_disposition.html
由于这是 HTTP 标头的一部分,因此您可以在任何文件类型上使用它。 如果您使用的是 apache,则可以使用 .htaccess 文件添加标头,如下所述 此处。 例如:
execCommand is not completely standardized across browsers. Indeed, execCommand('SaveAs', ...) only seems to be supported on IE. The recommended way to force a save-as would be to use a content-disposition: attachment header, as described in http://www.jtricks.com/bits/content_disposition.html
Since this is part of the HTTP header, you can use it on any file type. If you're using apache, you can add headers using the .htaccess file, as described here. For example:
正如 Microsoft 所说,“没有适用于这个方法。”
As Microsoft puts it, "There is no public standard that applies to this method."
Firefox 不支持 execCommand。 事实上,它似乎只适用于 IE。
Firefox doesn't support execCommand. In fact it seems to be IE-only.