2012-06-11 13 views
7

Đối với Chrome, tôi có thể sử dụng IndexedDB và WebSQL, cho Firefox, tôi có thể sử dụng IndexedDB, còn IE thì sao? Tôi đã phát triển một ứng dụng sử dụng WebSQL và nó hoạt động tốt trên Chrome và Safari cho máy tính để bàn, trình duyệt iOS Safari và Android. Tiếp theo, tôi muốn chuyển nó sang Desktop Firefox và IE. Tôi đang xem xét IndexedDB, nhưng việc tìm ra IE không thực sự hỗ trợ nó. Tôi có lựa chọn thay thế nào?IE có hỗ trợ lập chỉ mụcDB, WebSQL hoặc cơ sở dữ liệu tương tự như SQLite không?

+0

bạn cần hỗ trợ phiên bản nào của IE? – Spudley

Trả lời

7

IE10 hỗ trợ IndexedDB. Bạn cũng có thể sử dụng localStorage trong IE8 +. Đối với các phiên bản cũ hơn, bạn có thể sử dụng hành vi độc quyền userData: http://www.javascriptkit.com/javatutors/domstorage2.shtml

Xin lưu ý rằng cơ sở dữ liệu WebSQL không được chấp nhận và đặc điểm kỹ thuật không còn được duy trì nữa.

+0

Hầu hết người dùng IE hiện có trên IE8 hoặc IE9, do đó, IndexDB không trợ giúp. localStorage không hỗ trợ truy vấn SQLite, vì vậy tôi phải viết lại ứng dụng của mình không sử dụng cơ sở dữ liệu cục bộ? WebSQL được khấu hao, nhưng đó là điều duy nhất hiện đang hoạt động trên Chrome, Safari và thiết bị di động trên máy tính để bàn. Tôi rất thích sử dụng IndexedDB, nhưng tôi không thấy bất kỳ kế hoạch hỗ trợ di động nào. Đó không phải là trường hợp? – netmobile

+0

Không có kế hoạch nào được công bố, không. IDB trong Chrome được hỗ trợ bởi LevelDB vì vậy có thể họ sẽ có được điều đó trên Android trước khi bạn thấy Google đóng góp nó cho WebKit di động. FF được SQLite sao lưu để có thể phù hợp với Android. Ai biết được sẽ có hỗ trợ trên iOS. Nó sẽ không có vẻ hòa hợp tốt với mô hình ứng dụng bản địa của Apple ủng hộ anyways. – buley

3

Như ghi chú duri WebSQL đã được đưa ra câu thần chú doom **, nhưng nó thường là công nghệ thực tế duy nhất cho lưu trữ cục bộ đa nền tảng - đặc biệt là khi giao dịch với thiết bị di động.

IE does not support WebSQL và vì những người viết thông số kỹ thuật không thể đi đến các điều khoản về triển khai, bạn không thể sớm thấy triển khai. IE10 chưa chính thống nên không phải là IndexedDB. (Hơn nữa, IndexedDB bị hai triển khai khác nhau trong Chrome (cũ) và FF (mới) làm cho thậm chí nó không hoàn toàn ổn định để phát triển.)

localStorage is the only truly cross platform option, với điện thoại di động Opera là người duy nhất không thực hiện. Theo kinh nghiệm của tôi, bạn không nên dựa vào nó hoạt động tốt với các tập dữ liệu cỡ trung bình hoặc lớn hơn.

** Như với "McBeth" xung quanh rạp chiếu phim, tôi sẽ yêu cầu bạn không bao giờ nói những từ này gần bất kỳ triển khai IndexedDB nào: "Đặc tả cơ sở dữ liệu Web SQL không còn được duy trì và hỗ trợ có thể bị loại bỏ trong các phiên bản sau."

+0

Tôi có xu hướng nghĩ rằng WebSQL sẽ có một cuộc sống lâu hơn nhiều so với tất cả các cuộc nói chuyện về việc không được chấp nhận, chỉ vì nó hoạt động và nó là công nghệ thực tế duy nhất nếu bạn cần di động là tốt. Chỉ cần không thấy bất kỳ trình duyệt trình duyệt nào xóa nó bất kỳ lúc nào. – netmobile

+0

Hoàn toàn đồng ý. Mọi người trích dẫn thông số của doom nhưng không bao giờ nói về mã đó thường được thêm vào nhưng hiếm khi bị xóa. – buley

0

Nhóm Google chrome đã hỗ trợ rất nhiều cho IndexedDB, vì vậy tôi mong Chrome sẽ sớm có được Chrome nếu họ chưa có. Không cần phải có hỗ trợ "LevelDB" trong Android, nó chỉ là một thư viện khác giống như nhiều thư viện khác mà Chrome sử dụng.