Descrição
A API chrome.types
contém declarações de tipo para o Chrome.
Configurações do Chrome
O protótipo ChromeSetting
fornece um conjunto comum de funções (get()
, set()
e clear()
).
e um editor de eventos (onChange
) para as configurações do navegador Chrome. As configurações de proxy
exemplos demonstram como essas funções devem ser usadas.
Escopo e ciclo de vida
O Google Chrome distingue entre três escopos diferentes de configurações do navegador:
regular
- As configurações definidas no escopo
regular
se aplicam às janelas normais do navegador e são herdadas pela navegação anônima as janelas, se elas não forem substituídas. Essas configurações são armazenadas no disco e permanecem em vigor até elas são apagadas pela extensão governante ou a extensão governante foi desativada ou desinstalada. incognito_persistent
- As configurações definidas no escopo
incognito_persistent
se aplicam apenas a janelas anônimas. Para essas, eles substituir as configurações deregular
. Essas configurações são armazenadas no disco e permanecem em vigor até serem limpos pela extensão governante ou se a extensão governante foi desativada ou desinstalada. incognito_session_only
- As configurações definidas no escopo
incognito_session_only
se aplicam apenas a janelas anônimas. Para essas, eles substituir as configurações deregular
eincognito_persistent
. Essas configurações não são armazenadas no disco e são apagados quando a última janela anônima é fechada. Elas só podem ser definidas quando uma janela anônima estiver aberta.
Precedência
O Chrome gerencia as configurações em diferentes camadas. A lista a seguir descreve as camadas que podem influenciam as configurações efetivas em ordem crescente de precedência.
- Configurações do sistema fornecidas pelo sistema operacional
- Parâmetros de linha de comando
- Configurações fornecidas por extensões
- Políticas
Como a lista indica, as políticas podem anular todas as alterações especificadas com sua extensão. Você
pode usar a função get()
para determinar se a extensão é capaz de fornecer uma configuração.
ou se essa configuração será substituída.
Como discutido acima, o Chrome permite o uso de configurações diferentes para janelas normais e navegação anônima janelas. O exemplo a seguir ilustra o comportamento. Suponha que nenhuma política substitua e que uma extensão possa definir configurações para janelas normais (R) e configurações para janelas anônimas (I).
- Se apenas (R) estiver definido, essas configurações serão válidas para janelas normais e anônimas.
- Se apenas (I) estiver definido, essas configurações só serão válidas para janelas anônimas. Janelas regulares use as configurações determinadas pelas camadas inferiores (opções de linha de comando e configurações do sistema).
- Se (R) e (I) estiverem definidos, as respectivas configurações serão usadas no modo normal e de navegação anônima janelas.
Se duas ou mais extensões quiserem definir a mesma configuração com valores diferentes, isso significa que a extensão foi instalada mais recentemente tem precedência sobre as outras extensões. Se a extensão instalada mais recentemente define somente (I), as configurações de janelas normais podem ser definidas por configurações extensões.
O valor efetivo de uma configuração é o resultado da consideração das regras de precedência. Ela é usado pelo Chrome.
Tipos
ChromeSetting
Uma interface que permite o acesso a uma configuração do navegador Chrome. Consulte accessibilityFeatures
para ver um exemplo.
Propriedades
-
onChange
Evento<functionvoidvoid>
Disparado após a mudança da configuração.
A função
onChange.addListener
tem esta aparência:(callback: function) => {...}
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => void
-
detalhes
objeto
-
incognitoSpecific
booleano opcional
Indica se o valor alterado é específico da sessão de navegação anônima. Essa propriedade estará presente apenas se o usuário tiver ativado a extensão no modo de navegação anônima.
-
levelOfControl
O nível de controle da configuração.
-
valor
T
O valor da configuração após a alteração.
-
-
-
-
limpar
void
PromessaLimpa a configuração, restaurando qualquer valor padrão.
A função
clear
tem esta aparência:(details: object, callback?: function) => {...}
-
detalhes
objeto
Qual configuração limpar.
-
escopo
ChromeSettingScope opcional
Onde limpar a configuração (padrão: normal).
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
-
retorna
Promessa<void>
Chrome 96 ou versão mais recenteAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
-
-
get
void
PromessaRecebe o valor de uma configuração.
A função
get
tem esta aparência:(details: object, callback?: function) => {...}
-
detalhes
objeto
Qual configuração considerar.
-
navegação anônima
booleano opcional
Define se o valor que se aplica à sessão de navegação anônima será retornado (padrão é falso).
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(details: object) => void
-
detalhes
objeto
Detalhes do valor vigente no momento.
-
incognitoSpecific
booleano opcional
Indica se o valor efetivo é específico da sessão de navegação anônima. Essa propriedade vai estar presente somente se a propriedade
incognito
no parâmetrodetails
deget()
for verdadeira. -
levelOfControl
O nível de controle da configuração.
-
valor
T
O valor da configuração.
-
-
-
retorna
Promise<object>
Chrome 96 ou versão mais recenteAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
-
-
set
void
PromessaDefine o valor de uma configuração.
A função
set
tem esta aparência:(details: object, callback?: function) => {...}
-
detalhes
objeto
Qual configuração mudar.
-
escopo
ChromeSettingScope opcional
Onde definir a configuração (padrão: normal).
-
valor
T
O valor da configuração. Observe que cada configuração tem um tipo de valor específico, que é descrito em conjunto com a configuração. Uma extensão não deve definir um valor de tipo diferente.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
-
retorna
Promessa<void>
Chrome 96 ou versão mais recenteAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
-
ChromeSettingScope
O escopo do ChromeSetting. Uma
regular
: configuração do perfil normal (que é herdado pelo perfil de navegação anônima se não for substituído em outro lugar),regular\_only
: configuração apenas para o perfil normal (não herdada pelo perfil de navegação anônima),incognito\_persistent
: configuração para o perfil de navegação anônima que resiste a reinicializações do navegador (substitui as preferências normais),incognito\_session\_only
: configuração para o perfil de navegação anônima que só pode ser definida durante uma sessão de navegação anônima e é excluída quando a sessão é encerrada (substitui as preferências normais e anonymous_persistent).
Enumeração
"normal"
"regular_only"
"anonymous_persistent"
"anonymous_session_only"
LevelOfControl
Uma
not\_controllable
: não pode ser controlado por nenhuma extensãocontrolled\_by\_other\_extensions
: controlado por extensões com maior precedênciacontrollable\_by\_this\_extension
: pode ser controlado por esta extensãocontrolled\_by\_this\_extension
: controlado por esta extensão
Enumeração
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"