3

I have a website that I built a while ago. All of sudden, without changing any code, the was centered popup window has now lost its size and it's center alignment and sits in the top left corner about 50 x 50 pixels!

Does anybody know what has caused this? Has Google Chrome changed something which has affected my script? It still works in all other browsers and used to work in Chrome, just not recently.

My caller:

onclick="wOpen('https://mydomain.com/mypage.html', 'preview', 800, 500); return false;"

My Function

function wOpen(url, name, w, h) {
  w += 32;
  h += 96;
  wleft = (screen.width - w) / 2;
  wtop = (screen.height - h) / 2;

  if (wleft < 0) {
    w = screen.width;
    wleft = 0;
  }
  if (wtop < 0) {
    h = screen.height;
    wtop = 0;
  }

  var win = window.open(url,
  name,
  'width=' + w + ', height=' + h + ', ' +
  'left=' + wleft + ', top=' + wtop + ', ' +
  'location=no, menubar=no, ' +
  'status=no, toolbar=no, scrollbars=yes, resizable=no');
  win.resizeTo(w, h);
  win.moveTo(wleft, wtop);
  win.focus();
}

Any suggestions?

TheCarver
  • 19,391
  • 25
  • 99
  • 149
  • Your code looks like it is opening a pop-up window - I think pop-up windows are considered bad web design. I think you may want to look at something like tinybox: http://sandbox.scriptiny.com/tinybox/ the end result is a nice looking pop-over box and it is very simple to get working. – Chris Cannon Apr 01 '12 at 02:11
  • Have you tested to see if it opens correctly in Chromium or the canary channel? It maybe a bug that has been fixed in a later version. – abraham Apr 01 '12 at 02:12
  • 1
    @ChrisCannon: Opening a small child window (popup) is not bad web design. Have a look at Google Fonts and the Facebook/Twitter developer sites. They all use "popup" windows, is that considered bad web design? If they are really bad, why are the top developers still using them? – TheCarver Apr 01 '12 at 13:22

2 Answers2

2

There seems to be something wrong with resizeTo() and moveTo() in chrome.

Usually chrome should ignore those methods, but now somehow they are executed and the window moves to a unknown place and gets a unknown size.

I don't see the window at all, but in the taskbar I see that it must be somewhere, I'm also able to maximize it.

Suggestion: Make a condition to prevent the lines from executing in chrome.

better Suggestion: Don't use these methods at all.

Also see: The javascript "resizeTo" function not working in Chrome and Opera

Community
  • 1
  • 1
Dr.Molle
  • 116,463
  • 16
  • 195
  • 201
1

The New version of Chrome is having an issue http://code.google.com/p/chromium-os/issues/detail?id=29006

chris
  • 11
  • 1