使用 python cgi 脚本,我有一个带有提交和取消按钮的表单。
- 当用户试图通过单击取消、关闭窗口或点击后退按钮来离开网页时,我想删除服务器上存在的文件。文件名取决于表单中的值。
当用户单击提交按钮时,不会删除任何文件。表单操作是将用户带到另一个 python cgi 脚本。
我可以使用 javascript onbeforeunload 事件捕获用户离开页面,但我无法删除 javascript 中的文件。如何删除文件?
使用 python cgi 脚本,我有一个带有提交和取消按钮的表单。
当用户单击提交按钮时,不会删除任何文件。表单操作是将用户带到另一个 python cgi 脚本。
我可以使用 javascript onbeforeunload 事件捕获用户离开页面,但我无法删除 javascript 中的文件。如何删除文件?
正如 Lajos Arpad 所写,您应该在页面卸载时向服务器发送通知(例如 onbeforeunload 事件中的 XmlHTTPRequest);但请注意,它不是万无一失的——例如,如果用户重置他/她的机器,或强制终止浏览器进程(例如 unix kill -9),浏览器将不复存在并且不会向服务器发送任何通知. 也许在这种情况下最好引入一些心跳,比如网页每 10 秒发送一次 XHR,如果服务器在 5 分钟内没有看到任何心跳,则很可能用户死了,文件也应该被删除。
由于安全原因,您不能使用 Javascript 访问服务器文件。但是,您可以在 onbeforeunload 事件和服务器端事件(处理此回发)中进行回发,您可以删除要删除的服务器文件。