Penghadan Penutupan Tetingkap JavaScript dalam Chrome: Langkah Keselamatan Terhad
Sementara JavaScript menawarkan window.close() dan self.close() kaedah untuk menutup tetingkap, alat ini telah menghadapi halangan dalam Chrome, di mana menutup tetingkap menggunakan skrip tidak selalunya terus terang.
Kawalan Penutupan Berasaskan Skrip
Disebabkan kebimbangan keselamatan, Chrome telah melaksanakan dasar yang mengehadkan keupayaan JavaScript untuk menutup tetingkap. Ia membenarkan penutupan tingkap hanya jika ia dicipta oleh skrip yang sama yang menggunakan penutupan. Sekatan ini menghalang skrip berniat jahat daripada menutup tetingkap secara sewenang-wenangnya dan mengganggu pengalaman pengguna.
Kepatuhan Firefox
Firefox mematuhi sekatan ini dengan ketat, dengan sebarang percubaan untuk menutup tetingkap daripada skrip menghadapi kesilapan. Sebaliknya, Chrome membenarkan pengecualian untuk skrip pengguna, tetapi tanpa gesaan pengesahan.
Penyelesaian Hacky
Eksploitasi ubah hala kendiri Chrome setelah membenarkan penutupan tetingkap, tetapi kaedah ini telah kebanyakannya disekat. Satu penyelesaian yang berpotensi, khusus untuk TamperMonkey, melibatkan penggunaan @grant window.close dalam pengepala skrip. Walau bagaimanapun, ini tidak terpakai pada semua kes dan memerlukan tab yang baru dibuka tanpa sejarah penyemakan imbas.
Implikasi Keselamatan dan Penyelesaian Jangka Panjang
Risiko keselamatan yang ditimbulkan oleh tingkap.tutup tanpa sekatan yang sepatutnya menjadikannya tidak sesuai untuk kegunaan umum. Penyelesaian yang disyorkan ialah membangunkan sambungan Chrome atau alat tambah Firefox, yang boleh menutup tetingkap dengan pasti. Greasemonkey dan Tampermonkey berpotensi menyediakan fungsi ini melalui sambungan API.
Sebagai langkah terakhir, untuk skrip peribadi, melumpuhkan tetapan allow_scripts_to_close_windows dalam Firefox boleh mendayakan penutupan tetingkap. Walau bagaimanapun, berhati-hati harus dilakukan, kerana ini menjejaskan keselamatan penyemak imbas.
Atas ialah kandungan terperinci Mengapa JavaScript Tidak Boleh Sentiasa Menutup Windows dalam Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!