0

我有一个带有 HTML/JavaScript 代码的页面,当用户按下页面上的导出按钮时,我想将其导出到 HTM 文件。我基本上只需要找到一种方法来触发Ctrl+S来执行 Save Page 对话框窗口。我已经搜遍了,似乎找不到任何可以让 JavaScript 模拟该按键序列的东西。

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

4

3 回答 3

2

使用saveDocument()方法。文档在这里

编辑:这只适用于 Firefox。

于 2013-09-12T20:29:48.017 回答
1

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

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

header('Content-disposition: attachment');

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

于 2013-09-12T20:48:08.593 回答
0

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

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

不过,如果您只是在为多个桌面浏览器寻找可行的解决方案,您可以查看TiddlyWiki,它是一种“本地 wiki”,其内容保存在客户端并与页面一起保存。保存是在随页面分发的Java不是 JavaScript! )小程序中实现的。一种基于 Web 的基于浏览器的应用程序。

于 2013-09-12T21:03:16.337 回答