Situasi yang sering terjadi dalam proyek adalah adanya daftar, seperti daftar kasus, dan mengklik item dalam daftar akan melompat ke halaman detail. Detailnya dibuat berdasarkan rekaman yang diklik, karena kasus dan halaman detail spesifik ditambahkan oleh pengguna nanti Saat kami mulai menulis, tidak mungkin menghabiskan semuanya. Oleh karena itu, saat melompat ke halaman, kita perlu meneruskan parameter sehingga kita dapat membuat permintaan data melalui parameter ini, dan kemudian membuat halaman berdasarkan data yang dikembalikan oleh latar belakang. Oleh karena itu, melompati tag a pasti tidak akan berhasil.
Kita sering menulis formulir. Saat mengirimkan, kita dapat meneruskan parameter. Jika kita menggunakan formulir dan menyembunyikannya, efeknya akan tercapai.
Selain itu, window.location.href dan window.open juga dapat mencapai efek tersebut.
1. Lewati parameter melalui formulir<html lang=en> <head> <!--Format pengkodean situs web, pengkodean internasional UTF-8, pengkodean Cina GBK atau gb2312--> <meta http-equiv=content-type content=text/html;charset=utf- 8 /> <meta name=Isi kata kunci=Kata kunci satu, Kata kunci dua> <meta name=Isi deskripsi=Isi deskripsi situs web> <meta name=Isi penulis=Yvette Lau> <title>Dokumen</title> <!--Pengenalan file css js--> <!-- <link rel=shortcut icon href=images/favicon.ico> --> <link rel=stylesheet href=/> <tipe skrip = teks/javascript src = jquery-1.11.2.min.js></script> </head> <body> <nama formulir = metode frm = dapatkan tindakan = terima.html onsubmit = return foo() style = posisi:relatif;> <tipe input=nama tersembunyi=nilai tersembunyi = indeks = lemon> <img class = more src = main_jpg10.png /> <tipe input = kirim gaya = posisi:absolute; kiri:10px;atas:0px;lebar:120px;tinggi:40px;opacity:0;kursor:pointer;/> </form> <nama formulir = metode frm = dapatkan tindakan = terima.html onsubmit = return foo() style = posisi:relatif;> <tipe input=nama tersembunyi=nilai tersembunyi = indeks = aaa> <img class = more src = main_jpg10.png /> <tipe masukan = gaya kirim = position:absolute;left:10px;top:0px;width:120px;height:40px;opacity:0;cursor:pointer;/> </form> <nama formulir = metode frm = dapatkan tindakan = terima.html pengiriman = kembali foo() style = posisi:relatif;> <tipe input=nama tersembunyi=nilai tersembunyi = indeks = bbb> <img class = more src = main_jpg10.png /> <tipe masukan = kirim gaya = posisi:absolute;kiri:10px;atas:0px;lebar:120px;tinggi:40px;opacity:0;kursor:pointer;/> </form> </body> </html><skrip> fungsi foo(){ var frm = window.event.srcElement; $(frm.hid).attr(indeks); mengembalikan nilai benar;
Ketika Anda mengklik gambar tersebut, gambar tersebut akan melompat ke halaman terima.html. Url halaman menjadi:
String yang ingin kita lewati telah dilewati.
Kemudian lakukan pemisahan string pada url saat ini
window.location.href.split(=)[1]//Dapatkan lemon
Setelah kita mendapatkan parameter yang perlu dilewati, kita dapat melanjutkan ke langkah selanjutnya berdasarkan hal tersebut.
Selain pemisahan string yang disebutkan di atas untuk mendapatkan parameter yang diteruskan oleh URL, kita juga dapat memperolehnya melalui pencocokan reguler dan metode window.location.search.
2. Melalui window.location.hrefMisalnya, saat kita mengklik sebuah daftar, kita perlu meneruskan string ke halaman detail.html, lalu halaman detail.html memuat konten halaman melalui data interaksi ajax berdasarkan nilai yang diteruskan.
var indeks = lemon; var url = menerima.html?index=+index; $(#lebih).klik(fungsi(){ window.location.href = url; });
Halaman saat ini akan diganti dengan halaman recieve.html, dan url halaman tersebut akan menjadi:
Kemudian kita menggunakan metode di atas untuk mengekstrak parameter yang kita butuhkan
3. Melalui jendela.lokasi.bukaJika Anda ingin membuka halaman baru alih-alih mengubah halaman saat ini, maka window.location.href tidak berlaku Saat ini, kita perlu menggunakan window.location.open() untuk mencapainya.
Pengenalan singkat tentang fungsi window.open() memiliki tiga parameter. Parameter pertama adalah URL halaman yang akan dibuka. Parameter kedua adalah target jendela Nilai Boolean yang menunjukkan apakah halaman baru menggantikan halaman yang saat ini dimuat di riwayat browser. Hanya parameter pertama yang perlu diteruskan. Parameter kedua juga bisa berupa nama jendela khusus seperti _blank, _self, _parent, _top. _blank membuka jendela baru, dan _self mencapai efek yang sama seperti window.location.href.
Melanjutkan contoh di atas:
<skrip> var indeks = lemon; var url = terima.html?index=+index; $(#more).klik(fungsi(){ window.open(url) });</skrip>
Dengan cara ini, ketika diklik, akan terbuka halaman baru dengan alamat url yang sama seperti di atas.
Karena pembatasan keamanan browser, beberapa browser menambahkan batasan pada konfigurasi jendela pop-up. Sebagian besar browser memiliki program pemblokiran jendela pop-up bawaan. Oleh karena itu, jendela pop-up mungkin diblokir, ada dua hal perlu dipertimbangkan. Salah satu kemungkinannya adalah program pemblokiran bawaan browser memblokir jendela pop-up, jadi window.open() kemungkinan akan mengembalikan Null dengan memantau nilai yang dikembalikan.
var newWin = window.open(url);if(newWin == null){ alert(pop-up diblokir);}
Yang lainnya adalah jendela pop-up yang diblokir oleh ekstensi browser atau program lain. Kemudian window.open() biasanya memunculkan kesalahan. Oleh karena itu, untuk mendeteksi secara akurat apakah jendela pop-up diblokir, Anda harus mendeteksi nilai yang dikembalikan dan di pada saat yang sama, window.open() dienkapsulasi dalam blok try-catch. Pada contoh di atas, dapat ditulis sebagai berikut:
<skrip> var diblokir = salah; coba{ var indeks = lemon; var url = terima.html?index=+index; $(#more).click(function(){ var newWin = window.open(url); if (newWin == null){ diblokir = true; } } } catch(ex){ block = true; } if(blocked){ alert(jendela pop-up diblokir);
Di atas adalah keseluruhan isi artikel ini, saya harap dapat bermanfaat untuk pembelajaran semua orang. Saya juga berharap semua orang mendukung VeVb Wulin Network.