Rumah >hujung hadapan web >tutorial js >Menggunakan URL hash dengan contoh jQuery
3 Banyak aplikasi web moden hari ini menggunakan URL hash Untuk menambah keunikan (seperti tag halaman, seksyen, tindakan dan lain -lain ...) ke halaman tanpa menyegarkannya Youn dapat mengenalinya. Ini berikutan daripada mendapatkan parameter URL menggunakan jQuery untuk lulus data dinamik ke halaman melalui melalui URL. Yang masih digunakan secara meluas di www.
window.location.hash vs document.url
Mari kita lihat dengan cepat di kedua -dua dan di bawah adalah regex yang boleh anda gunakan untuk merebut tag hash.
Jadi sebagai contoh untuk mengekstrak nilai tag hash harian anda akan melakukannya seperti ini:
<span>//using window.location.hash </span>$<span>.fn.urlHash = function() </span><span>{ </span> <span>return window.location.hash.replace('#',''); </span><span>}; </span>$<span>.urlHash();</span>gagal ...
<span>//IE Proof - URL Hash Grab - returns complete hash value </span>$<span>.fn.urlHash = function() </span><span>{ </span> <span>return document.URL.substr(document.URL.indexOf('#')+1); </span><span>}; </span>$<span>.urlHash();</span>
<span>//in context - extract dayofweek hash </span><span>//eg url#dayofweek1 would return 1 </span><span>if (document.URL.indexOf('#dayofweek')) </span><span>{ </span> week <span>= parseInt(document.URL.substr(document.URL.indexOf('#')+1).replace('dayofweek',''))-1; </span> $resParent<span>.eq(week).showResources(); </span><span>}</span>Isu: Mengembalikan hasil yang salah apabila terdapat watak bukan Latin atau bukan alphanumer dalam hash. Sebagai contoh, untuk hash #foo@o #bar $%huh hello, hanya "foo" akan dikembalikan. Melemparkan typeError apabila location.hash kosong, kerana .match () akan kembali null
<span>var match = location.hash.match(<span>/<span>^#?(.*)$</span>/</span>)[1]; </span><span>if (match) </span><span>{ </span> <span>//do stuff... </span><span>}</span>Dapatkan hash anda - cara peluru
<span>var hash = location.hash.match(<span>/#<span>(w+)</span>/</span>)[1];</span>Apakah url hash dan mengapa penting? Pengenalpastian ini digunakan untuk menunjuk ke bahagian tertentu dalam laman web. URL Hash adalah penting kerana mereka membenarkan pengguna untuk secara langsung menavigasi ke kandungan tertentu pada halaman, tanpa perlu menatal seluruh halaman. Ini amat berguna untuk laman web panjang dengan pelbagai bahagian. Di samping itu, URL hash boleh digunakan untuk mengekalkan keadaan dalam satu aplikasi web halaman tunggal, di mana hash berubah untuk mencerminkan pandangan semasa.
<span>var hash = location.hash.split('#')[1];</span>
Bagaimana saya dapat mengesan perubahan hash dengan jQuery? perubahan. Anda boleh menggunakan acara ini untuk menjalankan kod apabila berubah hash. Sebagai contoh, $ (tetingkap) .on ('hashchange', fungsi () { / * kod anda di sini * /}) ;.
Bolehkah saya menggunakan URL hash untuk menyimpan maklumat negeri? Ini sering digunakan dalam aplikasi halaman tunggal, di mana keadaan aplikasi disimpan dalam hash. Ini membolehkan pengguna menavigasi kembali ke keadaan yang sama dengan menggunakan butang belakang atau dengan menanda buku url. Menggunakan URL untuk menavigasi terus ke sekeping kandungan tertentu dalam halaman. URL Hash adalah sempurna untuk ini, kerana ia membolehkan anda menghubungkan terus ke bahagian tertentu halaman. Untuk menggunakan URL hash untuk menghubungkan yang mendalam, tambah hash dan pengecam bahagian ke url anda.
Atas ialah kandungan terperinci Menggunakan URL hash dengan contoh jQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!