Rumah > Artikel > hujung hadapan web > Selepas tetingkap javascript dibuka, bagaimana untuk menetapkannya supaya hanya halaman lain dalam tetingkap boleh dikendalikan dan tidak boleh dialihkan?
Dalam proses pembangunan aplikasi web, JavaScript sering digunakan untuk membuka tetingkap baharu. Walau bagaimanapun, kadangkala kami berharap pengguna hanya boleh mengendalikan tetingkap yang baru dibuka dan tidak melakukan sebarang operasi pada halaman asal Bagaimana untuk menyediakannya dalam kes ini?
Berikut ialah beberapa kaedah pelaksanaan untuk rujukan:
Kaedah 1: Tambah parameter apabila menggunakan JavaScript untuk membuka tetingkap
Kaedah pertama adalah menggunakan JavaScript untuk membuka yang baharu tetingkap oleh Tambah parameter untuk kawalan. Kaedah pelaksanaan khusus adalah seperti berikut:
window.open(url,name,'height=500,width=500,top=100,left=100,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
Dalam kod ini, kami menggunakan kaedah window.open
untuk membuka tetingkap baharu, dengan name
ialah nama tetingkap dan url
ialah alamat tetingkap baharu. toolbar=no
, menubar=no
, scrollbars=no
, resizable=no
, location=no
dan status=no
dalam parameter lain masing-masing mewakili menyembunyikan bar alat, bar menu, bar skrol, butang pelarasan saiz, bar alamat dan bar status. .
Dengan cara ini, pengguna hanya boleh melihat kandungan halaman semasa dalam tetingkap baharu dan operasi lain dilumpuhkan.
Kaedah 2: Lumpuhkan halaman lain melalui kod JavaScript
Kaedah kedua ialah menambah kod JavaScript untuk melumpuhkan halaman lain dalam tetingkap yang baru dibuka. Kaedah ini memerlukan penambahan kod berikut pada halaman yang baru dibuka:
window.opener.location.href='javascript:;';
Fungsi kod ini adalah untuk menukar alamat halaman asal kepada javascript:;
, supaya pengguna tidak boleh mengklik mana-mana pautan pada halaman asal beroperasi.
Selain itu, anda juga boleh menambah kod berikut supaya pengguna tidak boleh kembali ke halaman asal apabila mengklik butang kembali penyemak imbas selepas membuka tetingkap baharu:
history.forward();
Kaedah 3: Lumpuhkan orang lain dengan menetapkan Halaman acara
Kaedah ketiga ialah menambah acara supaya sistem menyahdayakan operasi halaman asal secara automatik apabila bertukar kepada tetingkap yang baru dibuka. Pelaksanaan khusus adalah seperti berikut:
var newpage = window.open("http://www.example.com"); newpage.onfocus = function () { window.blur(); setTimeout(function () { window.focus(); }, 100); };
Dalam kod ini, kami menggunakan kaedah window.open
untuk membuka tetingkap baharu dan menyimpannya dalam pembolehubah newpage
. Dan newpage.onfocus
merujuk kepada acara yang dilaksanakan secara automatik apabila pengguna beralih kembali ke tetingkap baharu. Kami melumpuhkan halaman asal melalui kaedah window.blur()
, dan kemudian memfokus semula tetingkap selepas 100 milisaat.
Ringkasan
Di atas ialah kaedah untuk mengawal tetingkap yang baru dibuka untuk hanya mengendalikan tetingkap ini, tetapi bukan halaman web asal. Kaedah yang berbeza mempunyai kelebihan dan kekurangan yang berbeza Apabila menggunakannya, anda boleh memilih kaedah yang sesuai mengikut keperluan sebenar.
Atas ialah kandungan terperinci Selepas tetingkap javascript dibuka, bagaimana untuk menetapkannya supaya hanya halaman lain dalam tetingkap boleh dikendalikan dan tidak boleh dialihkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!