Tôi muốn tăng giá trị cookie mỗi khi trang được tham chiếu ngay cả khi trang được tải từ bộ nhớ cache. Cách "tốt nhất" hay ngắn gọn nhất để thực hiện điều này là gì?Cách "tốt nhất" để nhận và đặt giá trị cookie đơn bằng cách sử dụng JavaScript
Trả lời
bị đánh cắp từ http://www.quirksmode.org/js/cookies.html#script
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toUTCString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
sử dụng nó:
var oldCount = parseInt(readCookie('hitCount'), 10) || 0;
createCookie('hitCount', oldCount + 1, 7);
như được chỉ ra trong các ý kiến, bạn nên bỏ vào một int vì cookie là được lưu trữ và trả về dưới dạng chuỗi. Sử dụng foo++
hoặc ++foo
thực sự sẽ bỏ cho bạn, nhưng nó an toàn hơn để biết chính xác những gì bạn đang làm việc với:
var x = "5"; // x = "5" (string)
x += 1; // x = "51" (string!)
x += 5; // x = "515" (string!)
++x; // x = 516 (number)
Hầu hết các chức năng cũ cookie handling Tôi đã nhìn thấy sử dụng thao tác chuỗi đơn giản để lưu trữ một giá trị nhặt đồ, như this Ví dụ, bạn có thể sử dụng các thư viện khác, như cookie-js, một nhỏ (< 100 dòng) tiện ích cho Cookie truy cập.
Cá nhân tôi sử dụng jQuery cho các dự án của tôi, và tôi sử dụng jQuery Cookie Plugin, nó thực sự đơn giản để sử dụng:
var cookieName = "increment";
if ($.cookie(cookieName) == null){
$.cookie(cookieName, 1, { expires: 10 });
}else{
var newValue = Number($.cookie(cookieName)) + 1;
$.cookie(cookieName, newValue, { expires: 10 });
}
cách tốt nhất luôn là đơn giản nhất:
function getCookie(name) {
return (name = (document.cookie + ';').match(new RegExp(name + '=.*;'))) && name[0].split(/=|;/)[1];
}
// the default lifetime is 365 days
function setCookie(name, value, days) {
var e = new Date;
e.setDate(e.getDate() + (days || 365));
document.cookie = name + "=" + value + ';expires=' + e.toUTCString() + ';path=/;domain=.' + document.domain;
}
các chức năng mong đợi giá trị là một chuỗi đơn giản, nhưng bạn luôn có thể JSON.stringify nó nếu bạn muốn hoặc có thể làm điều gì đó khác với nó ...
- 1. Cách nhận giá trị phiên bằng cách sử dụng javascript
- 2. Cách tốt nhất để sử dụng Cookie để xác thực bằng PHP là gì?
- 3. Trích xuất giá trị lang bằng cách sử dụng JavaScript
- 4. Cách đọc cookie an toàn bằng cách sử dụng JavaScript
- 5. Cách nhận giá trị hiển thị của Chọn bằng cách sử dụng javascript
- 6. Cách tốt nhất để lấy các giá trị khác biệt/duy nhất bằng cách sử dụng SPQuery là gì?
- 7. Cách lấy giá trị tên miền cho cookie trong Javascript?
- 8. JQuery - Nhận giá trị bằng cách sử dụng bộ chọn
- 9. nhận giá trị từ css bằng cách sử dụng document.getElementById(). Style.height javascript
- 10. Nhận giá trị phần tử được chọn trên sự kiện bằng cách sử dụng JavaScript
- 11. Cách lấy giá trị lớn nhất của cột id duy nhất bằng cách sử dụng LINQ
- 12. sử dụng giá trị javascript và doPostback?
- 13. cách nhận nhiều giá trị và mục được chọn từ hộp danh sách bằng cách sử dụng javascript
- 14. Đặt giá trị cột trong các biến bằng cách sử dụng truy vấn SQL đơn
- 15. JavaScript và ASP.NET - Cookie với các cặp khóa/giá trị
- 16. làm cách nào để tôi đặt giá trị của một hộp văn bản bằng cách sử dụng javascript
- 17. cách tốt nhất để tiêm html bằng cách sử dụng javascript
- 18. Cách tốt nhất để nhận các thuộc tính phụ bằng cách sử dụng GetProperty
- 19. Đặt cookie cho cURL để sử dụng
- 20. đặt maxlength bằng cách sử dụng javascript
- 21. Vòng lặp và nhận cặp khóa/giá trị cho mảng JSON bằng cách sử dụng jQuery
- 22. Đặt giá trị Php trị giá $ _SERVER ($ _SERVER ['something']) bằng cách sử dụng Apache .htaccess
- 23. Cách đặt Cookie bằng NSURLRequest?
- 24. Cách tốt nhất để kiểm tra xem danh sách thả xuống có chứa giá trị không?
- 25. Ghi lại giá trị trong Cookie bằng cách sử dụng URL Rewrite cho IIS7
- 26. Cách tốt nhất để xử lý múi giờ bằng Javascript
- 27. Sử dụng CSS cách tốt nhất để hiển thị cặp giá trị tên?
- 28. Cách sử dụng MethodInfo.Invoke để đặt giá trị thuộc tính?
- 29. Cách nhận giá trị từ các cài đặt ứng dụng?
- 30. Lấy giá trị byte bằng cách sử dụng chuỗi
readCookie trả về chuỗi con, bạn nên đặt nó dưới dạng số khi tăng 1, nếu không bạn sẽ có , 1, 11, 111, 1111 ... – CMS
Bạn đang bỏ lỡ lối thoát và unescape cho giá trị – hultqvist
Lưu ý rằng toGMTString hiện không còn được dùng để ủng hộ toUTCString – BeauCielBleu