2011-04-23 5 views
5

예를 들어 URL 목록을 저장하고이 목록을 동적으로 업데이트한다고 가정 해 보겠습니다. 다음과 같은 방법으로이 작업을 수행 할 수 있습니다.
1) 나는 기본 환경 설정을 저장하지만 환경 설정을 사용하여 어떤 단점이 알고 (환경 설정에 저장) SQLite는 데이터베이스
3에 저장) 텍스트 파일
2에서 저장?)
Firefox 부가 기능에 데이터를 저장하는 가장 좋은 방법

Firefox 부가 기능과 관련된 데이터를 저장하는 가장 좋은 방법은 무엇입니까? 일반적인 대답이 가능하지 않다면 위의 예와 같은 상황에 가장 적합한 방법은 무엇입니까? 왜 그러한 방법이 적절하고 다른 방법이 적절하지 않다고 생각합니까?

답변

9

기본 설정은 간단하지만 가볍지 만 저장 용량 요구 사항은 기본 설정을 초과 할 수 있습니다. SQLite는 빠른 쿼리 기능이 필요한 대규모 데이터 세트에 유용합니다. 필자는 파일 기반 스토리지를 간단하고 효과적으로 사용하고 있습니다. 가능한 경우 비동기 I/O를 사용해야합니다.

데이터를 JSON (또는 다른 형식의) 텍스트 파일에 저장하는 것은 간단합니다. 파이어 폭스 세션 스토어도 똑같은 일을합니다. 저장시 프로필 폴더 위치를 사용하십시오. 어쩌면 하위 폴더를 만들 수도 있습니다.

MDN 텍스트 파일 프로필 폴더를 발견하고 읽기/쓰기에 메모를 가지고 :

당신은 이전 릴리스 또는 내장에 nsIJSON 구성 요소를 사용할 수 있습니다 현재 출시 된 Firefox의 JSON 객체 : https://developer.mozilla.org/en/JSON

+1

파일 읽기 및 쓰기에 OS.File을 사용하는 것이 좋습니다 : [OS.File] (https://developer.mozilla.org/en-US/docs/JavaScript_OS.File/OS.File_for_the_main_thread) – Noitidart

1

단순 저장

단순 저장 모듈은 지속적이고 개인적인 저장소라는 객체를 내 부가 기능에 내 보냅니다. 이것은 일반적인 자바 스크립트 객체이며 다른 것과 마찬가지로 처리 할 수 ​​있습니다.

은 저장에 속성에 할당, 값을 저장하려면

var ss = require("sdk/simple-storage"); 
ss.storage.myArray = [1, 1, 2, 3, 5, 8, 13]; 
ss.storage.myBoolean = true; 
ss.storage.myNull = null; 
ss.storage.myNumber = 3.1337; 
ss.storage.myObject = { a: "foo", b: { c: true }, d: null }; 
ss.storage.myString = "O frabjous day!"; 

당신은 배열, 부울, 숫자, 객체, 널 (null) 및 문자열 값을 저장할 수 있습니다. 다른 유형의 값을 저장하려면 먼저 값을 문자열이나 다른 유형으로 변환해야합니다.

관련 문제