window.open() returns undefined or null on 2nd call

北城以北 提交于 2019-11-29 02:36:48

this is the hack that works that everyone on the internets is using:

function openWindow(url, name, props) {
  if(/*@cc_on!@*/false){ //do this only in IE
    var windowRef = window.open("", name, props);
    windowRef.close();
  }
  var windowRef = window.open(url, name, props);
  if (!windowRef.opener) {
    windowRef.opener = self;
  }
  windowRef.focus();
  return windowRef;
}

try to use global var windowRef outside the function openWindow(). Something like this:

var WindowRef = null;

function openWindow(url, name, props) {
  if(WindowRef == null){
    WindowRef = window.open(url, name, props)
  }
  else{
    WindowRef.document.location = url
  }
  if (!WindowRef.opener) {
    WindowRef.opener = self;
  }
  WindowRef.focus();
  return WindowRef;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!