2011-02-01 21 views
7

Tôi muốn làm cho trang web của mình khả dụng ngoại tuyến ngay cả khi người dùng xóa bộ nhớ cache và cookie. Là có thể? Ngoài ra tôi đang đối phó với cơ sở dữ liệu. Có thể xử lý cơ sở dữ liệu ngoại tuyến không?Cách đặt trang web khả dụng ngoại tuyến

+0

Tôi đang nghĩ đến việc sử dụng cơ sở dữ liệu web sql nhưng nó cần sự ủng hộ của sqllite. Có thể sử dụng mysql ở phía máy chủ, và sqlite ở bên cleint. – rdp

Trả lời

10
  1. Một người sử dụng có thể lưu trữ một địa phương bản sao của một đơn trang web sử dụng Chrome (nhấp chuột phải lưu dưới dạng) và nó sẽ lưu trữ tất cả các tài nguyên (hình ảnh, css, js) bắt buộc để tải đầy đủ trang ngoại tuyến. Các trình duyệt khác sẽ có các tùy chọn tương tự.

  2. Bạn có thể sử dụng wget để phản chiếu toàn bộ trang web để duyệt ngoại tuyến.

    wget --mirror --convert-links --html-extension -p http://www.example.com/ 
    

    tất nhiên không có tùy chọn nào trong số này sẽ xử lý các thành phần cơ sở dữ liệu trên trang/trang của bạn.

  3. Nếu bạn muốn giả lập một cơ sở dữ liệu hoặc các yếu tố động của một trang ngoại tuyến thì Google Gears có lẽ là gần nhất với những gì bạn đang tìm kiếm nhưng tôi nghĩ nó đã bị Google từ chối vào năm ngoái.

+0

Gears không được chấp nhận. – rdp

+0

wget thật tuyệt vời! – MaseBase

-1

Không, nếu cơ sở dữ liệu của bạn được đặt trực tuyến. sau đó bạn cần một kết nối internet cho PHP/ASP (bất kể bạn đang sử dụng để đối phó với DBS) để kết nối/liên lạc với của DB

+0

(Tôi biết đây là câu trả lời cũ nhưng tôi đưa ra nhận xét cho người dùng khác đã đọc nội dung này ..) Thậm chí nghĩ rằng ứng dụng web/trang chủ của bạn được tạo bằng công nghệ serverside như php hoặc asp, vẫn có thể sử dụng một số kỹ thuật trong các câu trả lời khác để có mô hình ngoại tuyến, đặc biệt là với html5. Nhưng không có cách "trực tiếp" (không hoạt động) để thực hiện. (Phần cơ sở dữ liệu, cần một số phương pháp để đồng bộ hóa khi thiết bị trực tuyến trở lại, vì vậy nó có thể là một điều khó làm, và có nguyên nhân không cập nhật trực tiếp, nếu không có kết nối internet!) –

0

Để lưu trữ dữ liệu cục bộ và truy cập ngoại tuyến, hãy xem GearsWeb Storage.

Vấn đề chính là mức độ chức năng bạn muốn cung cấp với trang web của mình. Nó luôn luôn đòi hỏi một số công việc về phía khách hàng (người dùng) để "lưu trữ" aka. lưu trang web của bạn ngoại tuyến. Bạn sẽ phải lưu trữ tất cả chức năng của mình trong một trang mà người dùng lưu trữ (có thể là phim Flash hoặc một số Mã Javascript).

7

Nếu người dùng của bạn có trình duyệt hiện đại, hãy thử Bộ nhớ cache ứng dụng HTML5.

Tài liệu tham khảo:

Tổng quan - http://www.html5rocks.com/en/features/offline

Demo - https://jonathanstark.com/labs/app-cache-7/

Hướng dẫn - https://www.html5rocks.com/en/tutorials/appcache/beginner/

Điều - http://grinninggecko.com/developing-cross-platform-html5-offline-app-1/

+0

Liên kết thứ hai của bạn bị gỡ xuống –

+0

Chỉnh sửa: liên kết được cập nhật – jpillora

0

Bạn có thể sử dụng lệnh đơn giản để tải toàn bộ trang web tại địa phương với tất cả liên kết hoạt động đúng cách.

wget -rk 'http://www.website.com' 

Đối với https url bạn cần phải thêm một tài sản hơn như dưới đây:

wget -rk --no-check-certificate 'https://www.website.com' 
Các vấn đề liên quan