Rumah  >  Artikel  >  hujung hadapan web  >  Selepas tetingkap javascript dibuka, bagaimana untuk menetapkannya supaya hanya halaman lain dalam tetingkap boleh dikendalikan dan tidak boleh dialihkan?

Selepas tetingkap javascript dibuka, bagaimana untuk menetapkannya supaya hanya halaman lain dalam tetingkap boleh dikendalikan dan tidak boleh dialihkan?

PHPz
PHPzasal
2023-04-25 10:42:17787semak imbas

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!

Kenyataan:
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