2012-02-15 19 views
5

Tôi sử dụng thành phần IGoogleinettuts để làm cho cổng thông tin của tôi trở nên hấp dẫn và dễ sử dụng hơn. Vấn đề chính mà tôi muốn hỏi là:Cách lưu trữ cài đặt cá nhân hóa của thành phần IGoogle?

  • Làm cách nào để lưu cài đặt cá nhân hóa, đặt mặc định khi người dùng đăng nhập lại vào ứng dụng?

Tôi không thể sử dụng cookie vì nó liên quan đến máy người dùng nên tôi nghĩ rằng tôi cần lưu trữ những dữ liệu này trong cơ sở dữ liệu của mình. Nhưng tôi không biết bắt đầu. Cấu trúc cơ sở dữ liệu trông như thế nào? Và cơ chế lưu trữ là gì? Ý tôi là, tôi có nên lưu trữ mọi hành động của người dùng hoặc đặt tất cả các hành động trong một giao dịch hay không?

Tôi sử dụng Informix cơ sở dữ liệu, vì vậy không có tư cách thành viên để tôi không thể sử dụng các phần web.

Tôi hy vọng ai đó có thể giúp tôi giải thích về cách lưu trữ tất cả các cài đặt theo cách hiệu quả.

+1

Không dễ dàng. Đầu tiên bạn lấy javascript savePreferences và thay đổi nó để lấy kết quả thành chuỗi, sau đó bạn lưu chuỗi này trong cơ sở dữ liệu trên các thiết lập người dùng bằng cách sử dụng ajax. Và khi tải bạn đọc chuỗi này và đính kèm nó vào tham chiếu khởi động inettuts.js. Nhiều bước. – Aristos

+1

Việc lựa chọn DBMS gần như hoàn toàn trùng hợp với quy trình này. Bạn cần phải phân loại cách thức để cá nhân hóa hoạt động mà không cần cookie. Nếu người dùng đăng nhập vào hệ thống của bạn, thì nó tương đối là một miếng bánh. Nếu bạn không có một cơ chế chính thức tương tự như vậy, thì bạn chắc chắn trong một thế giới bị tổn thương nếu bạn không thể hoặc sẽ không sử dụng cookie. Hướng dẫn bạn tham khảo mô tả cách sử dụng cookie (nếu tiêu đề là bất cứ điều gì để đi theo). –

Trả lời

2

Một điều bạn có thể làm là làm cho toàn bộ phía máy khách lưu trữ. Các trình duyệt mới hơn có biến số localStorage có thể lưu trữ chuỗi ổn định qua các phiên. Nhưng theo cách này, khi họ thay đổi máy tính của họ, các tùy chọn bị mất.

Tùy chọn khác là thực hiện tất cả cấu hình trong JavaScript, nhưng sử dụng chương trình phụ trợ làm Cửa hàng JSON.

var settings = { 
    components:[ 
     { 
      'title': 'Foo', 
      'state': 'opened' 
     }, 
     { 
      'title': 'Bar', 
      'state': 'opened' 
     } 
    } 
} 

function close_component(index) 
{ 
    settings.components[index].state = 'closed'; 
    save_settings(); 
} 

var save_settings = function() { 
    $.ajax({ 
     url:'/settings/save', 
     data: { 
      'settings': JSON.stringify(settings) 
     } 
    }; 
} 
Các vấn đề liên quan