Tôi có một ứng dụng đơn giản tải trang web được tối ưu hóa cho iPhone trong một số UIWebView
.Có thể lưu trữ tài nguyên được tải trong UIWebView của iPhone không?
Vấn đề là, bộ nhớ đệm dường như không làm việc:
[webView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: url]
cachePolicy: NSURLRequestUseProtocolCachePolicy
timeoutInterval: 60.0]];
Bất kỳ điều tham chiếu trong trang xa xôi này (css, hình ảnh, file javascript bên ngoài) không bao giờ được lưu trữ (yêu cầu không bao giờ gửi một If-Modified- Vì tiêu đề hoặc bất kỳ điều gì khác trong cách kiểm soát bộ nhớ cache.)
Có thể không? Có vẻ như với một Cocoa WebView thông thường, có một phương thức ủy nhiệm được gọi cho mỗi yêu cầu tài nguyên và tải bài đăng (-didFinishLoadingFromDataSource:
) mà bạn có thể sử dụng để cuộn bộ nhớ đệm của riêng mình .. nhưng điều đó dường như không áp dụng ở đây.
Toàn bộ trang của tôi (trang và tài nguyên được tham chiếu của nó) là khoảng 89K nén .. chậm hơn 3G ở một số điểm và thậm chí tệ hơn EDGE. Yêu cầu đến ít nhất cho biết rằng nó chấp nhận nén (accept-encoding=gzip, deflate
), vì vậy đó là tốt, tôi giả sử.
Tôi đọc this yui study, điều này dường như chỉ ra rằng iPhone sẽ lưu vào bộ nhớ cache 25k cho mỗi mục. Điều duy nhất được tham chiếu là hơn 25k không nén là jquery (đóng gói nhưng không nén - nó là 30k). Mọi thứ khác nên được lưu trữ. Không có yêu cầu cho bất cứ điều gì được tham chiếu trong trang được tìm nạp đang kích hoạt 304 ở phía máy chủ.
Nghiên cứu yui đó là từ gần một năm trước và tôi đoán chỉ bằng safari di động.
Điều này đang sử dụng UIWebView
trong ứng dụng iPhone gốc.
Thiên tài, mặc dù khá đáng lo ngại. –
Cách tốt nhất để làm điều đó sai. Người đàn ông, chúng tôi đang tìm kiếm ở đây cho ít nhất một chút giải pháp tiện dụng –
@ eagle.dan.1349 tại sao nó là cách tốt nhất để làm điều đó sai? trong trường hợp không có "giải pháp hữu ích hơn một chút" này * là * giải pháp tiện dụng nhất – abbood