Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在离开浏览器时获取div位置_Javascript_Jquery_Html - Fatal编程技术网

Javascript 在离开浏览器时获取div位置

Javascript 在离开浏览器时获取div位置,javascript,jquery,html,Javascript,Jquery,Html,当用户离开浏览器并将其存储在本地存储器中时,我试图获取div的位置。刷新页面时,它工作正常,但当我关闭浏览器或选项卡时,它会将位置存储为零!,我搞不懂,下面是我使用的代码,很高兴看一看 编辑:刚刚尝试过,如果我关闭整个浏览器,它似乎可以工作,但当只关闭选项卡时,它会给出零,有什么想法吗 window.onunload = window.onbeforeunload = function () { for (var i = 0; i < localStorage.length; i++) {

当用户离开浏览器并将其存储在本地存储器中时,我试图获取div的位置。刷新页面时,它工作正常,但当我关闭浏览器或选项卡时,它会将位置存储为零!,我搞不懂,下面是我使用的代码,很高兴看一看

编辑:刚刚尝试过,如果我关闭整个浏览器,它似乎可以工作,但当只关闭选项卡时,它会给出零,有什么想法吗

window.onunload = window.onbeforeunload = function () {
for (var i = 0; i < localStorage.length; i++) {
    var localVariable = localStorage.key(i);
    if (localVariable.substring(0, 3) == 'box') {
        var label = JSON.parse(localStorage.getItem(localVariable)).label;
        var boxRealId = JSON.parse(localStorage.getItem(localVariable)).boxId;
        var positionTop = $('#flowchartWindow' + boxRealId).position().top;
        var positionLeft = $('#flowchartWindow' + boxRealId).position().left;
        var positionAppId = JSON.parse(localStorage.getItem(localVariable)).appId;
        localStorage.removeItem(localVariable);
        localStorage.setItem('box-app ' + positionAppId + '-box' + boxRealId, JSON.stringify({
            appId: positionAppId,
            boxId: boxRealId,
            label: label,
            positionTop: positionTop,
            positionLeft: positionLeft,
        }));
    }
}
window.onunload=window.onbeforeunload=function(){
for(var i=0;i
我认为你应该使用
cookies
来存储这些信息。我认为@TheGr8_Nik是正确的,当你关闭页面时,没有JS变量值会持续。这意味着你必须将其存储在某个地方,cookies可能是一个不错的选择。@Apolo&TheGr8_Nik你们知道,实际上是什么吗?有可能你的页面会被卸载,你的所有内容都会被删除脚本将无法访问此事件的完整dom。停止此事件的方法是使用警报或确认…localStorage不是JS变量,它与Cookie的作用相同,但更好!