Javascript 保存窗口位置正在蔓延

Javascript 保存窗口位置正在蔓延,javascript,cookies,Javascript,Cookies,我有一个web应用程序,可以用来存储窗口位置的cookies 当用户关闭窗口时,Cookie会得到更新: window.onbeforeunload = function () { var winLeft = window.screenX; var winTop = window.screenY; var winWidth = window.outerWidth; var winHeight = window.outerHeight; writeWindowCookie(w

我有一个web应用程序,可以用来存储窗口位置的cookies

当用户关闭窗口时,Cookie会得到更新:

window.onbeforeunload = function () {
  var winLeft = window.screenX;
  var winTop = window.screenY;
  var winWidth = window.outerWidth;
  var winHeight = window.outerHeight;

  writeWindowCookie(winLeft, winTop, winWidth, winHeight);
}

var writeWindowCookie = function(left, top, width, height) {
   var prependStr = "Window";
   var date = new Date(new Date().setFullYear(new Date().getFullYear() + 1))
   var expires = "; expires=" + date.toGMTString();

   document.cookie = prependStr + "Left=" + left + "; " + expires + "; path=/";
   document.cookie = prependStr + "Top=" + top + "; " + expires + "; path=/";
   document.cookie = prependStr + "Width=" + width + "; " + expires + "; path=/";
   document.cookie = prependStr + "Height=" + height + "; " + expires + "; path=/";
}

  var readCookie = function (name) {
    var nameEQ = name + "=",
        ca = document.cookie.split(';'),
        i, c;

    for (i = 0; i < ca.length; i++) {
        c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1, c.length);
        }

        if (c.indexOf(nameEQ) == 0) {
            return c.substring(nameEQ.length, c.length);
        }
    }
    return null;
}
问题是每次我重新打开时,宽度和高度都是相同的,但左上移动。左侧每次向右移动约6px


我只是使用了错误的函数来捕获X/Y坐标吗?

我们需要查看所有的代码,如writeWindowCookie和readCookie,以便能够重现问题以提供帮助。见此处更新。感谢Matthew,我们需要查看所有代码,如writeWindowCookie和readCookie,以便能够重现问题以提供帮助。见此处更新。谢谢你,马修
var winLeft = readCookie("WindowLeft");
var winTop = readCookie("WindowTop");
var winWidth = readCookie("WindowWidth");
var winHeight = readCookie("WindowHeight");

window.open("", 'MyWindow', 'channelmode=0,scrollbars=1,Resizable=1,toolbar=0,menubar=0,status=0,left=' + winLeft + 'top=' + winTop + 'width=' + winWidth + 'height=' + winHeight, true);