_ _ _ _____ ___ __ __ _(_) | _(_)___ / ( _ ) / /_ ___ ___ _ __ ___ \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ \ V V /| | <| |___) | (_) | (_) | (_| (_) | | | | | | \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|
Actuellement, l'ouverture de la fenêtre est bloquée par les navigateurs modernes (ça affiche un bandeau du genre « le navigateur a bloqué une fenêtre pop-up »).
Il y aurait deux solutions pour rendre le script fonctionnel dans ce cas :
window.open()
a retourné null
, lancer une boucle pour choper la fenêtre une fois que l'utilisateur l'a autorisée dans le navigateur :if (!SecondWindowPreview.Variable.NewWindowPreview) {
let retryer = function () {
// syntaxe spéciale permettant de récupérer une fenêtre existante
let handle = window.open("", "NewWindowPreview");
if (handle) {
SecondWindowPreview.Variable.NewWindowPreview = handle;
SecondWindowPreview.Function.InitWindow();
} else {
setTimeout(retryer, 1000);
}
};
retryer();
} else {
SecondWindowPreview.Function.InitWindow();
}
Mais il y a un problème : tant que la fenêtre n'a pas été autorisée, ça tourne en boucle et le navigateur pense qu'il continue de bloquer des pop-ups supplémentaires… (chez moi ça affiche un compteur « N pop-ups ont été bloqués » qui augmente indéfiniment…)