在我们公司,我们正在使用具有共享许可证的Web应用程序。不幸的是,如果有人只是关闭应用程序正在其中运行的选项卡,则不会释放许可证锁定。我想知道当Firefox选项卡关闭时是否可以运行/触发scipt,所以我可以自动释放许可证?我认为greasemonkey可能会这样做,但我还没有找到解决方案。
答案 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秒)。这样就可以在所有情况下释放许可证锁定。
当然这可能与您的情景无关,这只是一个建议。