2011-11-09 30 views
12

Trang web được sử dụng trên Samsung Galaxy Tab với hệ điều hành Gingerbread. Trình duyệt được sử dụng cho đến nay là trình duyệt chứng khoán cũng như Dolphin HD. Các mục trong bộ nhớ cục bộ dường như ngẫu nhiên biến mất khi người dùng vào và ra khỏi vùng phủ sóng của mạng. Bộ nhớ cũng dường như không thể tồn tại đầy đủ các sự cố trình duyệt hoặc khởi động lại thiết bị. Phần lạ là lưu trữ thường không rõ ràng hoàn toàn, chỉ cần một số lượng lớn các mặt hàng bị mất. Bất cứ ai khác nghe về vấn đề này hoặc có bất cứ đề nghị?Bộ nhớ cục bộ HTML5 không liên tục

Edit: Bằng cách lưu trữ địa phương Ý tôi là,

localStorage["Key"] = value; 

retrived sử dụng:

localStorage.getItem("Key"); 

Trong mọi trường hợp, trực tiếp sau khi thêm vào lưu trữ địa phương, trang web có thể lấy và sử dụng dữ liệu . Tuy nhiên, đôi khi sau này thường sau khi chuyển vùng hoặc trình duyệt/máy tính bảng bị treo, dữ liệu không còn ở đó nữa. Tất cả mọi thứ tôi đã tìm thấy nói lưu trữ địa phương nên tồn tại, vì vậy tôi không thực sự biết đi đâu từ đây.

+2

Đề xuất: Hiển thị một số mã có liên quan để người khác có thể xác minh mã đó. –

+0

Các thế hệ mới nhất của trình duyệt di động có xu hướng xóa bộ nhớ cục bộ cùng một lúc khi cookie bị xóa. Có thể đó là những gì đang xảy ra? –

+1

Chỉ là một câu hỏi chung. Các mục được thêm bởi localStorage ["Key"] = các giá trị có trong suốt quá trình sử dụng của trang web đột nhiên không còn bất kỳ lúc nào. Thông thường sau khi chuyển vùng hoặc sau khi trình duyệt bị lỗi. Tôi chỉ có thể tái tạo nó một lần, nhưng nhiều người dùng mỗi ngày chạy vào nó và gây ra một vấn đề khá lớn khi nó xảy ra. Chỉ cần tự hỏi nếu đây là một vấn đề đã biết và nếu các phương pháp lưu trữ ngoại tuyến HTML5 khác đáng tin cậy hơn? – jmease

Trả lời

3

Làm cách nào để gỡ lỗi thêm một chút? Có lẽ mã của riêng bạn là bằng cách nào đó ghi đè nó? tôi bằng localStorage/sessionStorage trong PhoneGap và không bao giờ có chúng biến mất ...

Thêm xử lý sự kiện sau đây:

window.addEventListener("storage", function(e) { 
    console.debug(e); 
}, false); 

nào sẽ cháy (và đăng nhập để an ủi, trên trình duyệt máy tính để bàn) mỗi lần lưu trữ được truy cập. Bạn cũng có thể đăng nhập thông tin chi tiết hơn để được nhìn thấy trong logb của bạn (như khóa đang được truy cập!)

Hãy xem this stackoverflow question để biết thêm chi tiết về sự kiện lưu trữ.

+0

Cảm ơn Leon. Đó là lỗi của tôi vì không cập nhật bài đăng. Tôi đã thử thêm một người nghe sự kiện. Người dùng chỉ sử dụng trang web trên thiết bị di động, do đó không có bảng điều khiển để ghi vào. Và vì người nghe không kích hoạt bất kỳ sự kiện nào từ trang đó, nó không được chứng minh hữu ích. Tôi đã tìm ra cách để người nghe có thể mở rộng trang web, nhưng nó liên quan đến quảng cáo và nhiều hơn tôi muốn đưa người dùng của mình qua. – jmease

+0

có một số tiện ích ghi nhật ký jscript tốt đẹp - như [log4javascript] (http://log4javascript.org/index.html) cho phép bạn cũng đăng nhập vào máy chủ (ví dụ: [AjaxAppender] (http://log4javascript.org/docs /manual.html#ajaxappender)) có thể giúp đỡ trong việc gỡ lỗi các vấn đề di động như thế này ... Hy vọng điều này sẽ giúp – Leon

Các vấn đề liên quan