Rumah > hujung hadapan web > tutorial js > Mengapa JavaScript Tidak Boleh Sentiasa Menutup Windows dalam Chrome?

Mengapa JavaScript Tidak Boleh Sentiasa Menutup Windows dalam Chrome?

Linda Hamilton
Lepaskan: 2024-12-15 09:55:14
asal
484 orang telah melayarinya

Why Can't JavaScript Always Close Windows in Chrome?

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan