关闭选项卡时如何在 Firefox 中执行 运行 脚本?
How to run script in Firefox when a tab was closed?
在我们公司,我们使用具有共享许可的网络应用程序。不幸的是,如果有人简单地关闭了应用程序 运行 中的选项卡,它就不会解除许可锁定。我想知道是否可以在 Firefox 选项卡关闭时 run/trigger 一个 scipt,这样我就可以自动释放许可证?我认为 greasemonkey 可能可以做到这一点,但我还没有找到解决方案。
有window.onbeforeunload
和window.onunload
两种,根据浏览器的不同使用方式不同。您可以通过将 window 属性设置为函数来设置它们,或者使用 .addEventListener
:
window.onbeforeunload = function(){
// Do something
}
// OR
window.addEventListener("beforeunload", function(e){
// Do something
}, false);
通常,如果您需要阻止用户离开页面,则使用 onbeforeunload
(例如,用户正在处理一些未保存的数据,因此 he/she 应该在离开前保存)。
您可以尝试释放卸载事件中的锁,正如 Bcfm 在他的回答中所建议的那样,但是如果浏览器或计算机只是崩溃了怎么办?或者脚本执行时间太长,无论如何都会被浏览器杀死?
另一种方法是使站点不断 ping 许可服务器(即每 10 秒),以便保持锁定,直到在一定时间内没有 ping(即30秒)。这样在所有情况下都可以释放许可证锁。
当然这可能与您的场景无关,只是一个建议。
在我们公司,我们使用具有共享许可的网络应用程序。不幸的是,如果有人简单地关闭了应用程序 运行 中的选项卡,它就不会解除许可锁定。我想知道是否可以在 Firefox 选项卡关闭时 run/trigger 一个 scipt,这样我就可以自动释放许可证?我认为 greasemonkey 可能可以做到这一点,但我还没有找到解决方案。
有window.onbeforeunload
和window.onunload
两种,根据浏览器的不同使用方式不同。您可以通过将 window 属性设置为函数来设置它们,或者使用 .addEventListener
:
window.onbeforeunload = function(){
// Do something
}
// OR
window.addEventListener("beforeunload", function(e){
// Do something
}, false);
通常,如果您需要阻止用户离开页面,则使用 onbeforeunload
(例如,用户正在处理一些未保存的数据,因此 he/she 应该在离开前保存)。
您可以尝试释放卸载事件中的锁,正如 Bcfm 在他的回答中所建议的那样,但是如果浏览器或计算机只是崩溃了怎么办?或者脚本执行时间太长,无论如何都会被浏览器杀死?
另一种方法是使站点不断 ping 许可服务器(即每 10 秒),以便保持锁定,直到在一定时间内没有 ping(即30秒)。这样在所有情况下都可以释放许可证锁。
当然这可能与您的场景无关,只是一个建议。