2009-12-10 40 views
9

Tôi hiểu rằng HTML5 "localStorage" là khóa : giá trị lưu trữ nhưng tôi tự hỏi liệu có thư viện Javascript có cung cấp thêm SQL-ish API không?HTML5 localStorage & SQL

+0

[Bài đăng này] [1] có thể hữu ích cho bạn. [1]: http://stackoverflow.com/questions/14260127/is-there-a-free-lib-accessing-to-html5-database-sqlite –

Trả lời

7

Kiểm tra Will HTML5 be SQL-free?DOM Storage: a Cure for the Common Cookie để biết một số liên kết và ý kiến.

+0

Đọc tốt trong các liên kết đó, cảm ơn! Tôi cũng sẽ bổ sung thêm một bài báo liên quan đến một trong những bài viết đã đưa ra một quan điểm tốt về việc sử dụng SQL cho bộ nhớ trình duyệt> http://blog.vlad1.com/2009/04/06/html5-web- storage-and-sql – JeroenEijkhof

1

HTML5 địa phương lưu trữ cơ sở dữ liệu đi kèm với một giao diện SQL theo mặc định, nếu tôi không nhầm

Đây là một bài Webkit với một số ví dụ: http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/

Hiện nay, các lực lượng của Chrome bạn sử dụng Gears, mà hơi khác một chút nhưng vẫn dựa trên SQL. Các phiên bản Chrome trong tương lai sẽ tuân theo đặc tả HTML5.

+0

Xem 4,11. Lưu trữ cơ sở dữ liệu phía máy khách - http://www.whatwg.org/specs/web-apps/2007-10-26/#sql –

+0

có vẻ khá "thử nghiệm" ... – jldupont

4

W3C Database specification nói: đại lý

dùng phải thực hiện SQL dialect hỗ trợ bởi Sqlite 3.6.19.

Hiện tại, ít nhất Google Chrome hỗ trợ phương ngữ SQL. Tôi có số checked.

+0

Tôi đang sử dụng phiên bản 5.0.342.1 dev của Chrome. –

+1

Khoảng tháng 11 năm 2010, tài liệu giờ đây đọc "Tài liệu này nằm trong bản đề xuất của W3C nhưng công việc đặc tả đã dừng lại". Tài liệu IndexedDB bây giờ thay thế nó - http://www.w3.org/TR/IndexedDB/ –

3

Bạn nên sử dụng bộ nhớ cơ sở dữ liệu HTML5 (nó hỗ trợ SQL thông qua giao dịch). một hướng dẫn ở đây: http://www.html5rocks.com/tutorials/webdatabase/todo/

+0

Thời gian và thủy triều tiếp tục rửa qua HTML5. Dường như WebDatabase đã hết và indexDB nằm trong đó.Đây là bài viết được cập nhật bởi cùng một tác giả: http://www.html5rocks.com/en/tutorials/indexeddb/todo/ – EBarr

1

Bạn có thể thử Alasql. Nó hỗ trợ ngôn ngữ SQL chuẩn và giữ dữ liệu trong bộ nhớ hoặc localStorage. Có nhiều cách sevelar, cách sử dụng Alasql với localStorage. Dưới đây bạn có thể xem cách tạo cơ sở dữ liệu localStorage với tên "Atlas", đính kèm nó vào Alasql là "MyAtlas", sau đó bạn có thể làm việc với các bảng như bất kỳ cơ sở dữ liệu nào khác. Theo mặc định, Alasql sử dụng chế độ AUTOCOMMIT ON, vì vậy nó lưu dữ liệu vào localStorage sau mỗi câu lệnh SQL.

Đây là một mẫu:

alasql('CREATE localStorage DATABASE IF NOT EXISTS Atlas'); 
alasql('ATTACH localStorage DATABASE Atlas AS MyAtlas'); 
alasql('CREATE TABLE IF NOT EXISTS MyAtlas.City (city string, population number)'); 
alasql('SELECT * INTO MyAtlas.City FROM ?',[[{city:'Vienna', population:1731000}, 
    {city:'Budapest', population:1728000}]]); 
var res = alasql('SELECT * FROM MyAtlas.City'); 

Chơi với mẫu này trong jsFiddle. Chạy mẫu này hai hoặc ba lần (hoặc tải lại trang), và bạn sẽ thấy, làm thế nào số lượng các dòng sẽ phát triển trong bảng.

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