recherche

Maison  >  Questions et réponses  >  le corps du texte

Est-il possible d'afficher un message personnalisé dans la fenêtre contextuelle de pré-désinstallation ?

<p>Lors de l'utilisation de <code>window.onbeforeunload</code> (ou <code>$(window).on("beforeunload")</code>), est-il possible d'afficher le soi dans le fenêtre pop-up ? Définir le message ? ≪ /p> <p>Peut-être une petite astuce pour les principaux navigateurs ? </p> <p>En regardant les réponses existantes, je pense que dans le passé, en utilisant quelque chose comme <code>confirm</code> ou <code>alert</code> étaient possibles, mais il semble maintenant qu'ils ne fonctionnent plus. </p> <p>Alors, comment afficher un message personnalisé dans la fenêtre contextuelle avant le déchargement ? Est-ce même/encore possible ? </p>
P粉478445671P粉478445671516 Il y a quelques jours591

répondre à tous(2)je répondrai

  • P粉186904731

    P粉1869047312023-08-25 00:34:09

    Plus maintenant. Tous les principaux navigateurs ont commencé à ignorer le message réel et à afficher uniquement le leur.

    C'est exact. Il y a longtemps , vous pouviez utiliser confirmalert,最近您可以从onbeforeunload pour renvoyer un gestionnaire de chaîne et cette chaîne serait affichée. Le contenu de la chaîne est désormais ignoré et traité comme des indicateurs.

    Lorsque vous utilisez jQuery on 时,您确实必须在原始事件上使用 returnValue :

    $(window).on("beforeunload", function(e) {
        // Your message won't get displayed by modern browsers; the browser's built-in
        // one will be instead. But for older browsers, best to include an actual
        // message instead of just "x" or similar.
        return e.originalEvent.returnValue = "Your message here";
    });

    Ou à l'ancienne :

    window.onbeforeunload = function() {
        return "Your message here"; // Probably won't be shown, see note above
    };

    C'est tout ce que vous pouvez faire.

    répondre
    0
  • P粉143640496

    P粉1436404962023-08-25 00:32:48

    tl;dr - Vous ne pouvez plus définir de message personnalisé dans la plupart des navigateurs modernes

    Afin de définir un message de confirmation avant que l'utilisateur ne ferme la fenêtre, vous pouvez utiliser

    jQuery

    $(window).bind("beforeunload",function(event) {
        return "You have some unsaved changes";
    });

    Javascript

    window.onbeforeunload = function() {
        return "Leaving this page will reset the wizard";
    };

    <                                                                               ne pas

    étant être 确认/警报 avant décharger < /代码>Voici les résultats en utilisant un navigateur auquel j'ai accès :


    Chrome :

    Firefox :

    Safari :

    IE :

    Pour plus d'informations sur la prise en charge du navigateur et la suppression des messages personnalisés :

    Chrome

    supprimé
      prise en charge des messages personnalisés
    1. dans la version 51 Opera suppression de la
    2. prise en charge des messages personnalisés
    3. dans la version 38 Firefox a supprimé la prise en charge des messages personnalisés dans la version 44.0 (toujours à la recherche de la source de ces informations)
    4. Safari
    5. suppression de la
    6. prise en charge des messages personnalisés
    7. dans la version 9.1

      répondre
      0
  • Annulerrépondre