_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

Discussion MediaWiki:Gadget-SecondWindowPreview.js

Dans le monde d'aujourd'hui, Discussion MediaWiki:Gadget-SecondWindowPreview.js est devenu un sujet d'actualité et de débat dans la société. Avec les progrès de la technologie et les changements de mode de vie, Discussion MediaWiki:Gadget-SecondWindowPreview.js est devenu de plus en plus important dans nos vies. Tant au niveau personnel que global, l'influence de Discussion MediaWiki:Gadget-SecondWindowPreview.js est perceptible sous différents aspects, générant des discussions et des réflexions dans divers domaines. Dans cet article, nous explorerons l'importance de Discussion MediaWiki:Gadget-SecondWindowPreview.js dans le contexte actuel, ainsi que ses implications dans différents domaines de notre vie quotidienne.

Ouverture de la fenêtre et bloqueurs pop-up

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 :

  • Si le 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…)

  • Ajouter un élément d'interface, que l'utilisateur devra cliquer pour effectuer l'ouverture de la fenêtre. Normalement, les bloqueurs pop-ups doivent laisser passer la fenêtre dans ce cas.

od†n ↗blah 21 mars 2022 à 19:25 (CET)