


Bagaimana untuk membezakan antara menutup tab penyemak imbas dan menutup seluruh penyemak imbas menggunakan JavaScript?
JavaScript membezakan antara penutup tab penyemak imbas dan penutup pelayar penuh
Dalam penggunaan harian Pelayaran Multi-Tab, pengguna mungkin perlu menutup tab tunggal atau penyemak imbas keseluruhan. Dalam sesetengah senario aplikasi, sebagai contoh, tindakan tertentu diperlukan apabila penyemak imbas ditutup sepenuhnya (seperti maklumat log masuk penjelasan), tetapi tidak apabila menutup tab tunggal. Artikel ini akan meneroka cara menggunakan JavaScript untuk membezakan antara kedua -dua situasi ini dan menyediakan penyelesaian yang sepadan.
Penerangan Masalah
Katakan aplikasi web yang kami buat berjalan pada penyemak imbas Chrome pada sistem Windows. Keperluannya adalah untuk membersihkan maklumat log masuk apabila pengguna menutup seluruh penyemak imbas, sambil mengekalkan maklumat log masuk tidak berubah apabila menutup tab tunggal. Bagaimana untuk melaksanakan fungsi ini?
Penyelesaian
Kita boleh menggunakan objek sessionStorage
HTML5 untuk menyelesaikan masalah ini. sessionStorage
membolehkan data pasangan nilai kunci disimpan dalam sesi yang sama. Apabila menutup penyemak imbas, data di sessionStorage
akan dibersihkan, sementara menutup tab tunggal tidak akan menjejaskan data sessionStorage
tab lain.
Langkah -langkah pelaksanaan khusus adalah seperti berikut:
-
Dengarkan Acara Tutup Pelayar: Gunakan Acara
beforeunload
untuk mendengar Operasi Tutup Tutup Pelayar.window.AddEventListener ('sebelum ini', fungsi (e) { // Tambah kod untuk membersihkan maklumat log masuk di sini, tetapi harus diperhatikan bahawa secara langsung melaksanakan di sini juga boleh menyebabkan penjelasan ketika menutup tab. });
Salin selepas log masuk -
Gunakan SesiStorage untuk membezakan tingkah laku penutup: Apabila setiap tab dimuatkan, tetapkan item
sessionStorage
dan periksa sama ada item itu wujud apabila ditutup. Jika ia wujud, ini bermakna halaman tab ditutup; Jika ia tidak wujud, ini bermakna bahawa seluruh penyemak imbas ditutup.// Tetapkan sessionStorage apabila halaman dimuat window.addeventListener ('beban', fungsi () { sessionStorage.setItem ('tabOpen', 'true'); }); // semak sessionStorage semasa ditutup window.AddEventListener ('sebelum ini', fungsi (e) { jika (! sessionStorage.getItem ('tabOpen')) { // Maklumat log masuk jelas clearLoginInfo (); } else { // Buang sessionStorage item sessionStorage.removeItem ('tabOpen'); } }); fungsi ClearLoginInfo () { // Tambah kod untuk membersihkan maklumat log masuk di sini ke Console.log ('Maklumat Log Masuk ...'); }
Salin selepas log masuk
Melalui kaedah di atas, kami dapat membezakan dengan berkesan antara menutup halaman tab dan menutup penyemak imbas, dan melaksanakan operasi membersihkan maklumat log masuk apabila penyemak imbas ditutup sepenuhnya, sementara operasi ini tidak akan dilakukan apabila menutup halaman tab tunggal. Harus diingat bahawa peristiwa beforeunload
boleh dipintas atau ditangguhkan oleh penyemak imbas, bergantung kepada pelaksanaan spesifik penyemak imbas dan tetapan pengguna. Untuk meningkatkan kebolehpercayaan, teknologi lain, seperti pengurusan sesi pelayan, boleh dipertimbangkan.
Atas ialah kandungan terperinci Bagaimana untuk membezakan antara menutup tab penyemak imbas dan menutup seluruh penyemak imbas menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Aplikasi Exchange OUYI menyokong memuat turun telefon bimbit Apple, lawati laman web rasmi, klik pilihan "Apple Mobile", dapatkan dan pasang di App Store, daftar atau log masuk untuk menjalankan perdagangan cryptocurrency.

Pintu Terbuka Sesame adalah platform yang memberi tumpuan kepada perdagangan cryptocurrency. Pengguna boleh mendapatkan portal melalui laman web rasmi atau media sosial untuk memastikan kesahihan sijil SSL dan kandungan laman web disahkan semasa akses.

Pilih platform perdagangan yang boleh dipercayai seperti OKEX untuk memastikan akses ke pintu masuk rasmi.

Mengendalikan paparan DPI yang tinggi di C boleh dicapai melalui langkah -langkah berikut: 1) Memahami DPI dan skala, gunakan API Sistem Operasi untuk mendapatkan maklumat DPI dan menyesuaikan output grafik; 2) Mengendalikan keserasian silang platform, gunakan perpustakaan grafik silang platform seperti SDL atau QT; 3) Melaksanakan pengoptimuman prestasi, meningkatkan prestasi melalui cache, pecutan perkakasan, dan pelarasan dinamik tahap butiran; 4) Selesaikan masalah biasa, seperti teks kabur dan elemen antara muka terlalu kecil, dan selesaikan dengan betul menggunakan skala DPI.

Lawati laman web rasmi Binance dan semak logo HTTPS dan Green Lock untuk mengelakkan laman web phishing, dan aplikasi rasmi juga boleh diakses dengan selamat.

Untuk selamat dan teliti menyahpasang MySQL dan membersihkan semua fail sisa, ikuti langkah -langkah berikut: 1. Hentikan perkhidmatan MySQL; 2. Nyahpasang pakej MySQL; 3. Fail konfigurasi bersih dan direktori data; 4. Sahkan bahawa pemotongan adalah menyeluruh.

Pembangunan silang platform di C adalah disyorkan untuk menggunakan VisualStudiocode, Clion dan Qtcreator. 1. VisualStudiocode adalah ringan dan fleksibel, sesuai untuk pembangunan pelbagai platform, tetapi konfigurasi awal lebih rumit. 2. Clion mengintegrasikan CMake, sesuai untuk projek lintas platform, tetapi lesen mahal. 3.QTCreator menyokong pembangunan silang platform, dengan perpustakaan QT terbina dalam, tetapi lengkung pembelajaran adalah curam.

Membina aplikasi sembang secara langsung di Laravel memerlukan menggunakan WebSocket dan Penolak. Langkah -langkah khusus termasuk: 1) Konfigurasi maklumat penolak dalam fail .env; 2) tetapkan pemandu penyiaran dalam fail penyiaran.php kepada penolak; 3) melanggan saluran penolak dan mendengar peristiwa menggunakan Laravelecho; 4) Hantar mesej melalui API Pusher; 5) melaksanakan saluran peribadi dan pengesahan pengguna; 6) Melaksanakan pengoptimuman prestasi dan debugging.
