Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Bertahan Pembolehubah Merentasi Muatan Halaman dalam Persekitaran HTTP Tanpa Kewarganegaraan?
Pembolehubah Berterusan Antara Pemuatan Halaman
HTTP tidak bernegara, mengekalkan nilai merentas muat semula halaman memerlukan storan luaran. Begini cara untuk mengatasi had ini:
Rentetan Pertanyaan
Pada penyerahan borang melalui GET, rentetan pertanyaan (?parameter=value) membawa data medan borang. Tetapkan nilai medan tersembunyi dengan sewajarnya:
<form method="GET"> <input type="hidden" name="clicked" value="true" /> <input type="submit" /> </form>
Pada pemuatan halaman, ekstrak parameter pertanyaan:
function getParameterByName(name) { var regex = new RegExp("[\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search); return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); } var clicked = getParameterByName('clicked');
Storan Web
HTML5 menyediakan Storan Web, membenarkan penyimpanan data berasaskan pelayar. SessionStorage menyimpan data hanya semasa sesi penyemakan imbas semasa:
sessionStorage.setItem('clicked', 'true');
Pada pemuatan halaman, dapatkan semula nilai yang disimpan:
var clicked = sessionStorage.getItem('clicked');
Kuki
Kuki digunakan terutamanya untuk storan data sebelah pelayan tetapi juga boleh dimanfaatkan untuk storan sebelah pelanggan. jQuery memudahkan pengurusan kuki:
$.cookie('clicked', 'true', {expires: 1}); // expires in 1 day
Untuk membaca kuki pada pemuatan halaman:
var clicked = $.cookie('clicked');
Ingat untuk menyahset kuki apabila tidak diperlukan lagi:
$.cookie('clicked', null);
Window.name
Walaupun tidak disyorkan, window.name boleh simpan rentetan merentas penyegaran halaman dan juga domain:
window.name = "my value";
Pada pemuatan halaman, akses nilai yang disimpan:
var value = window.name;
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Bertahan Pembolehubah Merentasi Muatan Halaman dalam Persekitaran HTTP Tanpa Kewarganegaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!