2013-11-20 3 views
0

내가 처음으로 파이어 폭스의 확장을 코딩하기 위해 노력하고있어 나는이 prefmanager에 문제가 있습니다.자바 스크립트 : 파이어 폭스 prefmanager

var prefManager = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); 
var updateintervall = prefManager.getCharPref("extensions.traffic.updateintervall"); 

자바 스크립트 코드의 두 번째 줄 다음에 내 확장 기능이 작동하지 않는 것 같습니다. 다음 코드 라인은 더 이상 실행되지 않을 것입니다 ... 내가 뭘 잘못하고 있니?

+0

그것은 잠시왔다,하지만 나를 위해 일했다. prefManager.getCharPref를 호출하면 예외가 throw 될 수 있습니다. 코드 주위에 try/catch를 넣고 예외가 무엇인지 알려줍니다. – hagbard

답변

0

nsIPref* API는 get*() 기능을 사용하는 경우 기본 설정이 이미 존재 것으로 기대하고있다. 그렇지 않은 환경 설정을 얻으려고하면 예외가 발생합니다. 예를 들어 읽으려고하면 API가 표시 될 수 있습니다. 문자열로서 기존의 숫자 환경 설정. 물론 예외를 시도하거나 잡을 수 있습니다.

당신은/비 - 기존의 환경 설정에 대한 캐치를 시도하지 않아도, 당신의 XUL 기반의 추가 기능에 default preferences을 추가 할 수 있습니다.

SDK 사용자는 simple-prefs 및/또는 preferences/service API를 살펴 봐야합니다.

다음은 캐시 된 Services.prefs을 사용하여 nsIPref*에 액세스하려는 경우입니다.

관련 문제