Firefox 3는 내용 선택 사항(content preferences)이라는 개념을 도입하고 있습니다. 이는 크롬 안에서 실행하는 코드(달리 이야기하면, 웹 사이트가 아닌 확장과 브라우저 자체)가 사이트 별 선택 사항을 지역적으로 저장할 수 있도록 합니다. 이를 이용하면 사용자가 웹 사이트의 외양을 커스터마이즈할 수 있는(예를 들어, 불편할 만큼 작은 글꼴을 사용하는 웹 사이트에) 확장을 작성하는 것이 가능합니다.
내용 선택 사항 서비스는 nsIContentPrefService
에 의해 구현되며 특정 사이트에 대한 선택 사항을 지정하고 구하는 기능과 이를 전역 선택 사항 공간에 저장하는 기능을 제공합니다. 전역 선택 사항은 사이트에 특정한 선택 사항을 이용할 수 없을 때 이용합니다.
예제: 선택 사항을 지정하고 구하기
이 예제는 선택 사항을 저장하고 그 값을 구하는 방법을 보여줍니다.
var ioSvc = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var prefService = Components.classes["@mozilla.org/content-pref/service;1"]
.getService(Components.interfaces.nsIContentPrefService);
// Create a URI object referencing the site to save a preference for
var uri = ioSvc.newURI("https://developer.mozilla.org/", null, null);
// Set the value of the "devmo.somesetting" preference to "foo".
prefService.setPref(uri, "devmo.somesetting", "foo");
...
// Retrieve the value of the "devmo.somesetting" preference.
var value = prefService.getPref(uri, "devmo.somesetting");
See also
nsIContentPrefService
, nsIContentPrefObserver