Firefox addon - Firefox addon 을 개발 하여 로 컬 파일 에 데 이 터 를 저장 하 는 방법
제 기억 에 js 는 클 라 이언 트 의 스 크 립 트 (대부분 상황 에서) 로 서 이 권한 이 없 기 때문에 불가능 하 다 고 생각 합 니 다.그러나 나중에 모든 플러그 인 은 자신의 설정 정 보 를 가지 고 있 을 것 이 라 고 생각 했 습 니 다. 반드시 로 컬 시스템 에 써 야 합 니 다.그 밖 에 어떤 addon 은 책 갈피 기능 을 제공 하 는 경우 사용자 의 책 갈 피 를 로 컬 파일 에 저장 해 야 합 니 다.분명히 플러그 인 에서 할 수 있 습 니 다. js 를 통 해 이 루어 졌 는 지 는 확실 하지 않 지만 Firefox 브 라 우 저 에서 제공 하 는 xpcom API 를 통 해 이 루어 졌 거나 다른 component 를 통 해 이 루어 졌 을 수도 있 습 니 다.
모 질 라 에서 많은 자 료 를 찾 았 는데,
You access the file system using Mozilla XPCOM components.
로 컬 에 데 이 터 를 저장 하 는 것 이 가능 한 지 확인 하 였 습 니 다.
다음은 로 컬 파일 에 데 이 터 를 저장 하 는 예제 입 니 다.
setFileContent: function(file, str) { try { var fos = Components.classes['@mozilla.org/network/file-output-stream;1'] .createInstance(Components.interfaces.nsIFileOutputStream); fos.init(file, 0x02 | 0x08 | 0x20, 0664, 0); var os = Components.classes['@mozilla.org/intl/converter-output-stream;1'] .createInstance(Components.interfaces.nsIConverterOutputStream); os.init(fos, 'UTF-8', 4096, Components.interfaces.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER); os.writeString(str); os.close(); fos.close(); } catch(e) { this.log(e); } }
// file is nsIFile, data is a string
var otream = Components.classes["@mozilla.org/network/file-output-stream;1"].
createInstance(Components.interfaces.nsIFileOutputStream);
// use 0x02 | 0x10 to open file for appending.
otream.init(file, 0x02 | 0x08 | 0x20, 0666, ostream.DEFER_OPEN);
// write, create, truncate
var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].
createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
converter.charset = "UTF-8";
var istream = converter.convertToInputStream(data);
Components.utils.import("resource://gre/modules/NetUtil.jsm");
NetUtil.asyncCopy(istream, ostream);
참고:
https://developer.mozilla.org/en/Code_snippets/File_I%2F%2FO
http://stackoverflow.com/questions/2639400/where-firefox-extensions-store-data
https://developer.mozilla.org/en-US/search?q=Components.classes
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.