如何在Javascript中模拟“CTRL + S”按键
我有一个包含HTML / JavaScript代码的页面我想在用户按下页面上的导出按钮时导出到HTM文件。 我基本上只需要找到一种方法来触发Ctrl + S来执行“保存页面”对话框窗口。 我已经搜遍过,似乎找不到任何可以让JavaScript模拟按键顺序的东西。
TL:DR – 有没有人知道如何在JavaScript / jQuery中模拟CTRL + S键按下
使用saveDocument()
方法。 这里的文档。
编辑 :这只适用于Firefox。
我不认为Javascript可以做到这一点。 有东西可以打印但不能保存。
你可以做什么为浏览器创建一个文件是附件的提示。
您需要发送一些HTTP标头。 例如,您可以使用PHP执行此操作:
header('Content-disposition: attachment');
如果你不想使用PHP,也许.htaccess也可以。 你可以看一下。
如果您希望浏览器保存用户的页面以保留DOM中的更改,这可能超出了JavaScript的范围,JavaScript旨在提供与页面本身的交互,而不是它正在处理的环境。
在某些设备上,这甚至可能不适用 – 在Android浏览器中保存页面并不是那么简单而且并非总是可行。
尽管如此,如果您正在寻找适用于多种桌面浏览器的工作解决方案,您可以查看TiddlyWiki ,这是一种“本地维基”,其内容保留在客户端并随页面保存。 保存是在随页面分发的Java ( 而不是JavaScript! )applet中实现的。 一种基于Web的基于浏览器的应用程序。