开发者

Javascript Popup Window as a singleton

I have a page A which opens a javascript window as myWin = window.open(..). Now in another page B in the same domain, when user clicks on a link, I want to check if myWin is available, if yes then bring that window in front, else do a new myWin.

The problem I have is the window.js file in both pages and window.js contains the line

var myWin = null;

Within Page A scope, my logic works and brings window to front. Within Page B it works as well. Howver when I open window in Page A, click on link in Page B, it fails.

It is as if myWin is reset to null in scope of Page B. How can I o开发者_C百科vercome this problem? Pointers??/


The popup window is created by page A and only page A contains a reference to that window. When you open page B, there is no way to pass page A's reference to the popup over to page B. This cannot be done.


You want to call window.open with an empty url, e.g.

var newWindow = window.open('', title, dimension); // title needs to be a constant
if (newWindow.location.href && newWindow.location.href!='about:blank') {
  // Window was already open and points to something
  newWindow.focus();
} else {
  // new window make it point to something
  newWindow.location.href = 'http://yoursite';
}

This assumes that the popup is opening a window within the same site as the calling page, since otherwise you can encounter various permissions issues.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜