Pergunta

Como faço para as preferências do usuário acesso no Firefox? Eu tenho o seguinte código:

var control = document.getElementById(control_id);
if (control) {
    control.setAttribute('color', nsPreferences.copyUnicharPref(prefstr, default_val));
}

Mas quando eu executar este, eu recebo o seguinte:

Error: nsPreferences is not defined
Source file: chrome://backgroundtoggle/content/options.xul
Line: 9

Estou tendo problemas rasa através da documentação Mozilla. Como posso fazer isso não o que eu quero?

Foi útil?

Solução

Parece que você precisa incluir nsUserSettings.js em seu arquivo .xul:

<script type="application/x-javascript" src="chrome://global/content/nsUserSettings.js" />

Este é o lugar onde nsUserPreferences está definido.

Consulte aqui para um arquivo de exemplo options.xul. A tag script deve ser o primeiro elemento filho de prefwindow para garantir que ele é carregado antes de seu próprio código faz.


Informações adicionais

Este parece um tutorial decente sobre como escrever extensões do Firefox. Parece fazer um bom trabalho de consolidar todas as informações relevantes sobre mozilla.org em um lugar, e contém links para mozilla.org quando você precisa de mais detalhes sobre um tópico a ser coberto. Eu desejo a navegação foi um pouco melhor, mas o que você pode fazer? Use o painel de navegação no lado esquerdo e clique em Tutorial para começar. Você tem que passar por cada seção usando o painel de navegação, o que me levou alguns segundos para descobrir, como eu estava à procura de 'Next' e ligações 'anteriores' na página.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top