cari

Rumah  >  Soal Jawab  >  teks badan

Adakah mungkin untuk memaparkan mesej tersuai dalam pop timbul pra-nyahpasang?

<p>Apabila menggunakan <code>window.onbeforeunload</code> (atau <code>$(window).on("beforeunload")</code>), adakah mungkin untuk memaparkan diri dalam tetingkap timbul? < /p> <p>Mungkin sedikit helah untuk penyemak imbas utama? </p> <p>Melihat jawapan sedia ada, saya fikir pada masa lalu menggunakan sesuatu seperti <code>confirm</code> atau <code>alert</code> atau <code>event.returnValue</code> mungkin, tetapi kini nampaknya ia tidak lagi berfungsi. </p> <p>Jadi, bagaimana untuk memaparkan mesej tersuai dalam pop timbul sebelum memuat? Adakah ini genap/masih boleh dilakukan? </p>
P粉478445671P粉478445671459 hari yang lalu513

membalas semua(2)saya akan balas

  • P粉186904731

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

    Tidak lagi. Semua pelayar utama mula mengabaikan mesej sebenar dan hanya menunjukkan mesej mereka sendiri.

    Betul. Sudah lama dahulu anda boleh menggunakan confirmalert,最近您可以从onbeforeunload untuk mengembalikan pengendali rentetan dan rentetan itu akan dipaparkan. Kandungan rentetan itu kini diabaikan dan dianggap sebagai bendera.

    Apabila menggunakan 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";
    });

    Atau cara lama:

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

    Itu sahaja yang anda boleh lakukan.

    balas
    0
  • P粉143640496

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

    tl;dr - Anda tidak lagi boleh menetapkan mesej tersuai dalam kebanyakan penyemak imbas moden

    Untuk menetapkan mesej pengesahan sebelum pengguna menutup tetingkap, anda boleh menggunakan

    jQuery

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

    Javascript

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

                                                                                                                                                                                                                                                                                                         … bongkar Berikut ialah keputusan menggunakan pelayar yang saya ada akses: 确认/警报Chrome: < /代码>

    Firefox:

    Safari:

    IAITU:

    Untuk maklumat lanjut tentang sokongan penyemak imbas dan pengalihan keluar mesej tersuai:

    Chrome

    dialih keluar

    sokongan untuk mesej tersuai dalam versi 51 Opera

    dialih keluar

    sokongan untuk mesej tersuai

    dalam versi 38
      Firefox mengalih keluar sokongan untuk mesej tersuai dalam versi 44.0 (masih mencari sumber maklumat ini)
    1. Safari dialih keluar
    2. sokongan untuk mesej tersuai
    3. dalam versi 9.1

      balas
      0
  • Batalbalas