2010-04-08 32 views
25

Tôi có một ứng dụng web được viết bằng JavaScript chạy thành công trên máy tính để bàn thông qua Safari cũng như trên iPhone.Có ai khác đang nhận được QUOTA_EXCEEDED_ERR trên iPad của họ khi truy cập localStorage không?

Chúng tôi đang xem xét việc chuyển ứng dụng này sang iPad và chúng tôi đang gặp sự cố khi chúng tôi thấy QUOTA_EXCEEDED_ERR khi lưu trữ một lượng dữ liệu tương đối nhỏ trong localStorage trên thiết bị. Tôi biết lỗi này có nghĩa là gì, nhưng tôi không nghĩ rằng tôi đang lưu trữ tất cả dữ liệu đó.

Có ai khác đang làm điều gì đó tương tự không? Và nhìn thấy/không thấy vấn đề này?

Kevin ...

+0

Sau khi điều tra thêm, tôi thực sự không thể thấy tại sao tôi sẽ gặp lỗi này, dung lượng tôi đang sử dụng có thể là <1-2K. Tôi đã kết thúc chỉ cần nhân rộng các chức năng trong cơ sở dữ liệu, tuy nhiên điều này yêu cầu làm tất cả mọi thứ không đồng bộ. – Kevin

Trả lời

31

Tôi đã gặp vấn đề tương tự và có vẻ như việc xóa khóa trước khi thiết lập giải pháp đó.

function setkey(key, val){ 
    sessionStorage.removeItem(key); 
    sessionStorage.setItem(key, val); 
} 
+0

Cảm ơn bạn, bạn vừa cứu tôi rất nhiều rắc rối! –

+0

Nếu cách này không hiệu quả, hãy xem câu trả lời ở chế độ riêng tư bên dưới. –

2

Tôi đang gặp vấn đề tương tự. Tôi đã thử ứng dụng của mình trên iPad và đã loại bỏ lỗi này. Cách duy nhất tôi có thể sao chép nó trên trình duyệt Safari là nếu tôi đặt máy tính của mình ở chế độ Riêng tư ...

Tôi nghĩ rằng bất cứ khi nào nó ở chế độ riêng tư, localStorage chỉ đọc. Vì vậy, tôi vẫn không có một giải pháp, nhưng nếu nó giúp tôi rất muốn nghe nó.

+0

Những gì tôi tìm thấy là tôi thực sự có thể lưu trữ một số dữ liệu trong localStorage, nhưng chỉ là tất cả những gì nhiều. Vì vậy, tôi không chắc đó là vấn đề chỉ đọc. – Kevin

+0

Sự cố của tôi là chế độ riêng tư. Tắt nó đi và localStorage có thể sử dụng lại. Phiên bản 5.1.1 –

2

Tôi gặp sự cố tương tự trên iPad đang chạy phiên bản os 3.cái gì đó (xin lỗi có thể nhớ phiên bản chính xác). Tôi nâng cấp hệ điều hành lên 4.2.1 và vấn đề được giải quyết!

Dường như đã là một lỗi trong việc triển khai localstorage của Apple đã được khắc phục.

3

Nếu bạn sử dụng cách xóa dữ liệu lưu trữ trước khi đặt - nó sẽ rất chậm trong một số trình duyệt. Xóa dữ liệu chậm hơn 1,5 lần so với thiết lập (chuỗi khoảng 50 dấu). Đã thử trên FF 3.6 (Ubuntu) - trình duyệt hoạt động rất chậm với SqlLite. Vì vậy, hãy thực hiện việc này chỉ dành cho thiết bị iPad.

7

nó không phải là một lỗi, người dùng có thể đi đến các thiết lập của có iphone và sau đó chọn safari. có một tùy chọn để đặt brouwsing riêng tư. mặc định là để lưu trữ hoạt động nhưng một số vô hiệu hóa nó. vì vậy bạn nên tạo một tin nhắn trong chủ đề nói ứng dụng của bạn để kích hoạt nó.

+0

Cảm ơn, đã làm việc cho tôi. Nó có ý nghĩa, nếu duyệt web riêng tư là trên thì không có gì nên được lưu trữ. –

+1

Đó là cách khác cho tôi: duyệt web riêng tư, localStorage hoạt động; duyệt web riêng tư trên, localStorage không hoạt động. Phiên bản 5.1.1 –

+0

@ Mr.TA Tôi đã gặp phải vấn đề tương tự. http://caniuse.com/#feat=namevalue-storage đề cập đến vấn đề này trong phần "Ghi chú". –

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