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!