2016-07-06 13 views
7
var google_login_popup = ""; 

var social_google_login = function() { 

    google_login_popup = window.open('www.google.com', "google_popup", 'width=800, height=600'); 

}; 

social_google_login(); 

setTimeout(function() { 
    google_login_popup.close(); 
}, 1000); 

Si apre il popup in una nuova scheda - non finestra. Ma .close() non chiude la finestra.window.close non funziona se la finestra si apre come scheda (Firefox 47)

Questo dovrebbe funzionare mentre lo script che apre la finestra sta anche cercando di chiuderlo.

Si noti che questo vale solo per Firefox 47, mobile.

Video: https://www.dropbox.com/s/bqcf8iwm5bsw4yn/VIDEO0254.mp4?dl=0.

+0

Hai controllato la console? Mostra l'avvertimento che _ "gli script possono solo chiudere le finestre aperte da loro" _? – Rohit416

+0

Non ha la console o il dispositivo, solo il video sopra come metodo di debug. – Tool

+1

Potrebbe essere perché hai perso il focus della finestra principale, quindi il timeout non avviene mai? – Kaiido

risposta

1

Ho testato questo in Firefox 47 su dispositivi mobili (Android 5.1.1, Moto G) e non è stato in grado di replicare il comportamento utilizzando il codice in una pagina Web scheletro. Tuttavia, guardando il video e guardando il codice in https://cdn.dorms.com/static/js/social.js, c'è chiaramente altro che il codice che hai fornito qui su SO.

Suggerimenti per la persona con il dispositivo

  • provare alcuni codice scheletro o utilizzare la mia pagina in https://www.dropbox.com/s/db08g2gmn9s8i89/38216372.html?dl=0 † per vedere se è possibile riprodurre il problema.
  • Prefix l'URL popup con http:// o https:// e/o prolunga il timeout. Dubito che questo aiuterà ma potrebbe esserci qualche strana sensazione.
  • Reimposta l'app di Firefox, se questa va bene con il proprietario del dispositivo. Cancella i dati dell'app e ricomincia, solo per assicurarti che non ci sia qualcosa in agguato.
  • Firefox mobile ha funzionalità di debug remoto USB e Wi-fi - controlla in Impostazioni >> Avanzate >> Scorri fino in fondo per "ulteriori informazioni". Ciò farebbe davvero risparmiare tempo cercando di eseguire il debug di questo.

† La mia pagina contiene il seguente codice HTML:

<!DOCTYPE html> 
<html> 
<head> 
<title>Test web page</title> 
<script> 
var google_login_popup = ""; 
var social_google_login = function() { 

    google_login_popup = window.open('www.google.com', "google_popup", 'width=800, height=600'); 

}; 
social_google_login(); 
setTimeout(function() { 
    google_login_popup.close(); 
}, 1000); 
</script> 
</head> 
<body>Test web page</body> 
</html> 
Problemi correlati