如何在选项卡关闭时在Firefox中运行脚本?

时间:2016-01-28 09:11:10

标签: javascript firefox tabs greasemonkey

在我们公司,我们正在使用具有共享许可证的Web应用程序。不幸的是,如果有人只是关闭应用程序正在其中运行的选项卡,则不会释放许可证锁定。我想知道当Firefox选项卡关闭时是否可以运行/触发scipt,所以我可以自动释放许可证?我认为greasemonkey可能会这样做,但我还没有找到解决方案。

2 个答案:

答案 0 :(得分:1)

window.onunload.addEventListener都有不同的用途,具体取决于浏览器。您可以通过将窗口属性设置为函数或使用window.onbeforeunload = function(){ // Do something } // OR window.addEventListener("beforeunload", function(e){ // Do something }, false);

来为它们提供帮助
onbeforeunload

通常,如果您需要阻止用户离开页面,则使用import numpy as np import random np.random.seed(123) A = np.round(np.random.rand(25000,2,2),2) B = np.round(np.random.rand(25000,2,2),2) a_index = np.zeros(A.shape[0]) for a in range(A.shape[0]): for b in range(B.shape[0]): if np.allclose(A[a,:,:].reshape(-1, A.shape[1]), B[b,:,:].reshape(-1, B.shape[1]), rtol=1e-04, atol=1e-06): a_index[a] = 1 break np.nonzero(a_index)[0] (例如,用户正在处理某些未保存的数据,因此他/她应该在离开前保存)。

答案 1 :(得分:0)

你可以尝试在卸载事件中释放锁定,正如Bcfm在他的回答中所建议的那样,但是如果浏览器或计算机只是崩溃了怎么办?或者脚本执行时间太长而且被浏览器杀死了?

另一种方法是使站点不断地 ping 许可证服务器(即每10秒),以便锁定保持直到没有ping成比例的时间量(即30秒)。这样就可以在所有情况下释放许可证锁定。

当然这可能与您的情景无关,这只是一个建议。