2015-07-03 4 views
1

У меня есть такая проблема. Мне нужно открыть кнопку всплывающего окна, нажав кнопку (это действие реализовано). Затем, после того, как всплывающее окно будет загружено, оно должно быть закрыто.Закрытие всплывающего окна после его загрузки

$(document).ready(function() { 
    $('#popupButton').click(function() { 
     signinWin = popupwindow([url], 
       "SignIn",960,630); 
     signinWin.focus(); 
     signinWin.onload=function(){ 
      var code = getQueryVariable("code"); 
      if(code != null){ 
       signinWin.opener.location.reload(true); 
       signinWin.close(); 
      } 
     } 
    }); 
}); 

Что делать, чтобы закрыть всплывающее окно? Причина signinWin.close(); не работает в OnLoad

ответ

1

Попробуйте установить windowheight, width в третьем параметре в window.open(), используя строку "width=960,height=630"; используя document.write закрыть windowsigninWin

$(document).ready(function() { 
    $("#popupButton").click(function() { 
    var signinWin = window.open("/url/", "SignIn","width=960,height=630"); 
    signinWin.focus(); 
    var code = getQueryVariable("code"); 
    if (code != null) { 
     signinWin.document.write("<script>this.close()<\/script>"); 
     setTimeout(function() { 
      location.reload(true); 
     }, 1); 
    }; 
    }); 
}); 

jsfiddle http://jsfiddle.net/scuxhbva/

+0

Вы не понимаете, функция popupwindow() открывает новое окно. Он использует функцию window.open 'popupwindow (url, title, w, h) { \t var left = (screen.width/2) - (w/2); \t var top = (screen.height/2) - (h/2); \t return window.open (url, title, 'toolbar = no, location = no, directories = no, status = no, menubar = no, scrollbars = no, resizable = no, copyhistory = no, width =' + w + ' , height = '+ h +', top = '+ top +', left = '+ left); \t} 'но проблема в том, что мне нужно закрыть окно только после того, как оно было загружено –

+0

СПАСИБО. Эта строка помогла мне закрыть всплывающее окно: signinWin.document.write («

Смежные вопросы