2011-06-23 29 views
12

Phương thức pushState chấp nhận đối tượng trạng thái. Tài liệu Firefox cho biết kích thước tối đa của đối tượng này là 640kb. Nó được xác định trong thông số kỹ thuật kích thước tối đa nhỏ nhất mà trình duyệt có thể triển khai là gì? Tôi có thể mong đợi các trình duyệt chính cung cấp cho tôi ít nhất 100kb không?API lịch sử HTML5 - Kích thước tối đa đối tượng trạng thái có thể là bao nhiêu?

EDIT: Tôi đã thử nghiệm nó với Chrome, và nó vẫn làm việc cho các đối tượng nhà nước trên 1MB.

+1

Hey @Kyle, bạn nên đánh dấu câu trả lời là đã được chấp nhận hoặc trả lời để hỏi xem bạn có cần thêm thông tin gì để nhận câu trả lời có thể chấp nhận hay không. – Maverick

Trả lời

6

No. Tài liệu quy chuẩn ở đây là http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#dom-history-pushstate và thậm chí nó không đề cập đến giới hạn cho kích thước dữ liệu. Một giới hạn khác nhau được đề nghị tuy nhiên:

đại lý tài khoản có thể hạn chế số lượng đối tượng nhà nước bổ sung vào phiên lịch sử mỗi trang.

Như bạn có thể thấy trong ví dụ này, đặc điểm kỹ thuật thường tránh đề cập đến bất kỳ giới hạn cứng nào và để chúng theo ý của người tạo trình duyệt. Vì vậy, ngay cả khi spec được sửa đổi tại một số điểm trong tương lai để xem xét khả năng giới hạn kích thước dữ liệu, nó không có khả năng cung cấp cho bạn một số thực. Thay vào đó nó sẽ là "đủ lớn cho các trường hợp sử dụng phổ biến".

8

Đặc điểm kỹ thuật không đặt ra giới hạn, tuy nhiên, các trình duyệt khác nhau có giới hạn riêng.

Firefox được tài liệu hóa tốt và như bạn đã nói, đó là 640kB ("nhiều RAM như mọi người sẽ cần").

tôi không thể tìm thấy Chrome hoặc Internet Explorer liệt kê bất cứ nơi nào, nhưng một số thử nghiệm nhanh cho thấy:

Chrome làm việc ít nhất lên đến 10MB (và có thể hơn nữa),

IE đánh giới hạn tại 1MB (trong IE11, đó là tất cả những gì tôi có).

Vì vậy, để tóm tắt cho những người của tương lai: history.state giới hạn kích thước đối tượng là: 640kB cho Firefox, 1MB cho Internet Explorer 11 và tại nhất10Mb cho Chrome.

EDIT: Các phiên bản được kiểm tra: IE: 11, Chrome: 33, Firefox: Không liên quan khi chúng ghi lại kích thước tối đa trên MDN cho bạn :).

+0

Tham chiếu 640K là: "640K phải đủ cho mọi người - Bill Gates, 1981" "Vậy chuyện gì đã xảy ra, Bill?" "Bạn có nhận ra nỗi đau mà ngành công nghiệp đã trải qua trong khi máy tính IBM bị giới hạn ở mức 640K? Máy có thể là 512K tại một thời điểm và chúng tôi tiếp tục đẩy nó lên. Tôi chưa bao giờ nói câu nói đó - tôi nói ngược lại "Cuộc đàm phán của Gates" (20/8/2001) Báo cáo Tin tức & Thế giới Hoa Kỳ " –

+0

Bạn có thể cho biết giới hạn bị ảnh hưởng bởi số lượng đối tượng hay không, như trích dẫn từ câu trả lời ở trên" Tác nhân người dùng có thể giới hạn số trạng thái các đối tượng được thêm vào lịch sử phiên trên mỗi trang. "? mọi thứ trông như thế nào khi đạt đến giới hạn? một thông báo lỗi? một vụ tai nạn? Tôi đoán thử nghiệm mới là do bây giờ, nhưng cảm ơn cho tài khoản này .... – matanster

+0

Giới hạn cho Firefox không phải là 640 kB là 640 kb. 640 nghìn ký tự: "chúng tôi áp đặt giới hạn kích thước 640 nghìn ký tự trên đại diện được tuần tự hóa của đối tượng trạng thái" (https://developer.mozilla.org/en-US/docs/Web/API/History_API) – SeanKendle

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