Est-il possible d'afficher un message personnalisé dans la fenêtre contextuelle de pré-désinstallation ?
P粉478445671
P粉478445671 2023-08-24 09:27:52
0
2
452
<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粉478445671
P粉478445671

répondre à tous(2)
P粉186904731

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.

P粉143640496

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";
};

é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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!