该页面翻译自 Google Chrome Extensions 与 Google Chrome Apps。除非特别说明,该页面的内容遵循 Creative Commons Attribution 3.0 License,代码示例遵循 BSD License。
描述: |
chrome.types API 包含用于 Chrome 浏览器的类型声明。
|
可用版本: |
从 Chrome 13 开始稳定支持。
|
ChromeSetting
原型提供一组常用函数(get()
、set()
和
clear()
)以及一个事件发布器(onChange
),用于
Chrome 浏览器设置。代理设置的例子演示了这些函数应该如何使用。
Chrome 浏览器区分三种不同范围的浏览器设置:
regular
regular
范围中的设置应用于普通浏览器窗口,并且在没有覆盖的情况下由隐身窗口继承。这些设置存储在磁盘上,一直保留,除非它们由所属扩展程序清除,或者所属扩展程序禁用或卸载。
incognito_persistent
incognito_persistent
范围中的设置仅应用于隐身窗口,覆盖 regular
范围中的设置。这些设置保存在磁盘上,一直保留,直到它们由所属扩展程序清除,或所属扩展程序禁用或卸载。
incognito_session_only
incognito_session_only
范围中的设置仅应用于隐身窗口,覆盖
regular
和 incognito_persistent
范围中的设置。这些设置不保存在磁盘上,当最后一个隐身窗口关闭时清除。它们只能在至少一个隐身窗口打开的情况下设置。
Chrome 浏览器在不同的层面上管理设置。以下列表按照优先级递增的顺序描述了可能影响有效设置的不同层面。
这一列表暗含着策略可以覆盖您用扩展程序指定的任何更改,您可以使用
get()
函数来确定您的扩展程序能否提供设置或者设置是否会被覆盖。
如前面所讨论,Chrome 浏览器允许普通窗口与隐身窗口使用不同的设置。以下例子演示了这一行为。假设没有策略覆盖设置并且扩展程序可以分别为普通窗口(R)和隐身窗口(I)更改设置。
如果两个或更多的扩展程序需要将同一设置修改为不同的值,最近安装的扩展程序优先于其他扩展程序。如果最近安装的扩展程序只设置了(I),普通窗口的设置可以由之前安装的扩展程序定义。
设置的有效值是考虑到以上优先级规则之后的结果,Chrome 浏览器将会采用它。
获得设置的值。
callback 参数应该指定一个如下形式的函数:
function(object details) {...};
"not_controllable"
, "controlled_by_other_extensions"
, "controllable_by_this_extension"
, or "controlled_by_this_extension"
)
修改设置的值。
"regular"
, "regular_only"
, "incognito_persistent"
, or "incognito_session_only"
)
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function() {...};
清除设置,恢复默认值。
"regular"
, "regular_only"
, "incognito_persistent"
, or "incognito_session_only"
)
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function() {...};
设置更改后产生。
callback 参数应该指定一个如下形式的函数:
function(object details) {...};
"not_controllable"
, "controlled_by_other_extensions"
, "controllable_by_this_extension"
, or "controlled_by_this_extension"
)