14

Tôi làm cách nào để cho phép webapp được cài đặt làm biểu tượng trên màn hình chính của người dùng? Dữ liệu được lưu vào bộ nhớ cache cục bộ, sao cho webapp có thể chạy khi người dùng ở ngoài 3G?Cài đặt ứng dụng web vào màn hình chính trên iPhone?

Tôi đã làm một google nhanh chóng, nhưng cụm từ tìm kiếm của tôi thiếu. Tôi nhận thấy rằng Google Buzz đã cho phép tôi cài đặt cục bộ và tôi tự hỏi quy trình tạo ứng dụng web là gì và liệu họ có được điều trị đặc biệt (bộ nhớ đệm đầy đủ/đang chạy ngoại tuyến) hay không.

Trả lời

22

Hành vi này được thực hiện bằng thẻ meta có tiêu đề apple-mobile-web-app-capable.

chi tiết (và meta thẻ khác hữu ích cho các ứng dụng web của iPhone): http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html

<meta name="apple-mobile-web-app-capable" content="yes">

Để thiết lập một biểu tượng tốt đẹp cho ứng dụng của bạn, bạn có thể chỉ định một URL cho biểu tượng của bạn:

http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

<link rel="apple-touch-icon" href="/custom_icon.png" />

và một màn hình khởi động:

<link rel="apple-touch-startup-image" href="/startup.png" />

liệu thể được lưu trữ tại địa phương. Bạn có thể lưu trữ dữ liệu bằng cách sử dụng HTML5 JavaScript APIscache manifest khác nhau.

+0

Vì vậy, tất cả CSS/JS được lưu trong bộ nhớ cache, để nó có thể chạy cục bộ khi ngoại tuyến? –

+0

Bạn có thể thiết lập. Xem chỉnh sửa. – ceejayoz

7

Dưới đây là một ví dụ về những gì bạn đang cố gắng để làm, có thể hữu ích: http://mrgan.tumblr.com/post/257187093/pie-guy

+0

Tôi đã bỏ phiếu bầu cho điều này? –

+0

+1 cho tính hữu dụng. –

10
câu trả lời

Xem ceejayoz cho những thứ iPhone cụ thể khác nhau (biểu tượng, chế độ toàn màn hình), nhưng để lưu trữ toàn bộ ứng dụng tại địa phương (và chạy ngoại tuyến), bạn sẽ cần phải xem những gì được gọi là "tệp kê khai bộ nhớ cache". Tệp này, được liên kết đến trong thẻ mở html trên trang của bạn, liệt kê mọi tài nguyên mà ứng dụng cần lưu trữ cục bộ.

Ngoài ra, để lưu trữ người dùng dữ liệu, nếu cần, bạn sẽ cần phải xem xét cơ sở dữ liệu phía máy khách. Tôi không biết nhiều về điều đó, vì vậy tôi sẽ không cố gắng giải thích nó. : P

Apple có một trang phong nha ở đây: http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007256-CH1-SW1

mà nói về cả bộ nhớ cache manifest và địa phương lưu trữ cơ sở dữ liệu. Điều này sẽ giúp giải thích những gì bạn cần làm để làm cho ứng dụng của bạn chạy ngoại tuyến.