2010-10-05 27 views
5

Tôi đang cố gắng xây dựng một ứng dụng iPad có một UIWebview. nội dung nằm trong asp.net. Bây giờ một trong những yêu cầu chính là ứng dụng của tôi nên hỗ trợ chế độ ngoại tuyến.

Đầu tiên tôi đã cố gắng tìm Html5 bộ nhớ cache manifest nhưng theo SO Answer này nó không làm việc với UIWebView

Sau đó, tôi đã cố gắng tìm kiếm xung quanh cơ chế bộ nhớ đệm có sẵn với UIWebView, tôi thấy rất nhiều câu hỏi về SO (This, This, This, This) nhưng không có gì kết luận hoặc có thể là cũ trong bối cảnh này.
yêu cầu cơ bản của tôi là bất kỳ trang nào người dùng duyệt qua sẽ nhận được bộ nhớ cache (html, css, js.images) và lần tiếp theo khi người dùng truy cập vào cùng một trang, nó sẽ được gửi từ bộ nhớ cache.

Vì vậy, câu hỏi của tôi là
1) Làm thế nào để đạt được điều này bằng cách sử dụng Html5 bộ nhớ cache manifest hoặc UIWebView bộ nhớ đệm
2) Ứng dụng của tôi sử dụng rất nhiều hình ảnh một số trong số đó là ở MB như vậy là có bất kỳ giới hạn kích thước

tôi sẽ thực sự đánh giá cao nếu có ai có thể cung cấp một tài liệu tham khảo hướng dẫn đầy đủ. Cảm ơn.
** CẬP NHẬT: ** có khả năng tôi có thể tận dụng bộ nhớ cache đĩa cục bộ (cho hình ảnh) và lưu trữ cục bộ html5 (cho dữ liệu) cùng nhau không? nếu có thì làm thế nào để tôi cung cấp đường dẫn hình ảnh địa phương.?ứng dụng ngoại tuyến bằng UIWebview cho iPad

Trả lời

1

Tôi sẽ cung cấp cho ASIWebPageRequest một lần thử. Nó vẫn được liệt kê là thử nghiệm, vì vậy nó không hoàn toàn nướng, nhưng nó có nghĩa là để làm chính xác những gì bạn đang yêu cầu.

+0

Cảm ơn rô bốt ... nhưng có giới hạn lưu trữ nào không? – Nnp

+0

Tôi không biết, tôi chưa có cơ hội thử nó. –

+0

Tôi đã thử, dường như không giới hạn. Nhưng vấn đề là bạn cần phải chờ đợi lâu nếu bạn cần nó để tải video lớn. – Forrest

1

Bạn có thể sử dụng bộ nhớ HTML5 ngoại tuyến để lưu trữ mã ứng dụng và dữ liệu của mình. Tuy nhiên, bạn vẫn cần có mã jc bootstrapper đơn giản để tải ứng dụng (về cơ bản là eval) từ bộ nhớ ngoại tuyến. Bạn cũng có thể lưu trữ hình ảnh nhỏ (mã hóa base64) trong lưu trữ ngoại tuyến. Nhược điểm là bạn phải cuộn phiên bản của riêng bạn và cập nhật bộ nhớ cục bộ nếu có phiên bản mới hơn của ứng dụng.

+1

giới hạn bộ nhớ cho bộ nhớ ngoại tuyến HTML5 được giới hạn ở mức 5MB trong IPhone. Không chắc chắn về IPad. –

+0

Cảm ơn. Tôi đã kiểm tra giới hạn lưu trữ ngoại tuyến trên iPad là 5MB.Tuy nhiên nếu lưu trữ của bạn tăng trên 5MB, tôi sẽ bật lên một thông báo yêu cầu người dùng cho phép lưu trữ phát triển. tôi đã có thể chèn dữ liệu tối đa 50MB. mặc dù nó yêu cầu tôi 5 lần để cho phép :) – Nnp

+0

@Nnp làm thế nào bạn quản lý để lưu trữ nhiều dữ liệu hơn? –

1

Dường như các tài liệu tham khảo được đề cập trong câu hỏi của bạn là không còn phù hợp

Đầu tiên tôi đã cố gắng tìm Html5 bộ nhớ cache manifest nhưng theo SO Answer này nó không làm việc với UIWebView

Các latest accepted answer cho câu hỏi đó cho biết rằng tệp kê khai bộ nhớ cache HTML5 được hỗ trợ cho UIWebView dưới dạng iOS 4.0 miễn là loại mime tệp kê khai của bạn được đặt chính xác là text/cache-manifest.

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