用于检测用户何时保存网页的 Javascript

Javascript to detect when a user saves the web page?

本文关键字:Javascript 保存网页 何时 检测 用户 用于      更新时间:2023-09-26

javascript 可以检测到用户何时将网页保存到本地磁盘吗?或者其他一些客户端脚本中是否有类似的功能?

您可以观看要击中的ctrl + s组合的键盘命令。但是,如果用户选择通过菜单保存,则无法捕获它。

JavaScript 不能这样做,任何其他客户端语言也不能这样做。 事实上,也没有服务器端语言可以做到这一点。 正如其他人所说,您可以观察键盘组合,但(目前(无法检测到它。

它不能 - 也许一些浏览器扩展可以做到这一点,但甚至期望随机用户为此安装这些扩展是非常不切实际的。

但是,例如,您可以尝试使用其他一些方法:

  • 右键单击自定义功能 - 启用保存自定义保存页面(登录到后端时(,
  • 捕获 CTRL+s(如胡安·门德斯所述(,
  • 在页面上进行某种跟踪,仅当未通过您的域访问页面时才会触发(例如,仅在特殊条件下请求的服务器上的图像(...
  • 提供PDF文档以保存和衡量其请求(通过后端方法(...

所以 - 很快 - 没有 100% 的解决方案...

正如其他人已经说明的那样;通过 CTRL + S 但不是通过菜单命令

下面是一些 jQuery,说明了击键的捕获:

$(document).keydown(function(e) {
    if (e.key === "s" && e.ctrlKey) {
        alert("user saved page");
    }
});