如何在Javascript中模拟“CTRL + S”按键

时间:2013-09-12 20:27:17

标签: javascript jquery

我有一个包含HTML / JavaScript代码的页面我想在用户按下页面上的导出按钮时导出到HTM文件。我基本上只需要找到一种方法来触发 Ctrl + S 来执行“保存页面”对话框窗口。我已经搜遍过,似乎找不到任何可以让JavaScript模拟按键顺序的东西。

TL:DR - 有没有人知道如何在JavaScript / jQuery中模拟 CTRL + S 按键

3 个答案:

答案 0 :(得分:2)

使用saveDocument()方法。文档为here

编辑:这只适用于Firefox。

答案 1 :(得分:1)

我不认为Javascript可以做到这一点。有些东西可以打印但不能保存。

您可以为浏览器创建文件为附件的提示 您需要发送一些HTTP标头。例如,您可以使用PHP执行此操作:

header('Content-disposition: attachment');

如果您不想使用PHP,也许.htaccess也可以。你可以看一下。

答案 2 :(得分:0)

如果您希望浏览器保存用户的页面以保留DOM中的更改,这可能超出了JavaScript的范围,JavaScript旨在提供与页面本身的交互,而不是它正在使用的环境。

在某些设备上,这甚至可能不适用 - 在Android浏览器中保存页面并不是那么简单而且并非总是可行。

尽管如此,如果您正在寻找适用于多种桌面浏览器的可行解决方案,您可以查看TiddlyWiki,这是一种“本地维基”,其内容保留在客户端和与页面一起保存。保存在随页面分发的 Java not JavaScript!)小程序中实现。一种基于Web的基于浏览器的应用程序。