Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Bertahan Pembolehubah Merentasi Muatan Halaman dalam Persekitaran HTTP Tanpa Kewarganegaraan?

Bagaimanakah Saya Boleh Bertahan Pembolehubah Merentasi Muatan Halaman dalam Persekitaran HTTP Tanpa Kewarganegaraan?

Barbara Streisand
Lepaskan: 2024-12-24 09:39:13
asal
428 orang telah melayarinya

How Can I Persist Variables Across Page Loads in a Stateless HTTP Environment?

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>
Salin selepas log masuk

Pada pemuatan halaman, ekstrak parameter pertanyaan:

function getParameterByName(name) {
    var regex = new RegExp("[\?&amp;]" + name + "=([^&amp;#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

var clicked = getParameterByName('clicked');
Salin selepas log masuk

Storan Web

HTML5 menyediakan Storan Web, membenarkan penyimpanan data berasaskan pelayar. SessionStorage menyimpan data hanya semasa sesi penyemakan imbas semasa:

sessionStorage.setItem('clicked', 'true');
Salin selepas log masuk

Pada pemuatan halaman, dapatkan semula nilai yang disimpan:

var clicked = sessionStorage.getItem('clicked');
Salin selepas log masuk

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
Salin selepas log masuk

Untuk membaca kuki pada pemuatan halaman:

var clicked = $.cookie('clicked');
Salin selepas log masuk

Ingat untuk menyahset kuki apabila tidak diperlukan lagi:

$.cookie('clicked', null);
Salin selepas log masuk

Window.name

Walaupun tidak disyorkan, window.name boleh simpan rentetan merentas penyegaran halaman dan juga domain:

window.name = "my value";
Salin selepas log masuk

Pada pemuatan halaman, akses nilai yang disimpan:

var value = window.name;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan