要使用cookies API, 你必须在你的清单中声明"cookies"权限,以及任何你希望cookie可以访问的主机权限。例如:
{
"name": "My extension",
...
"permissions": [
"cookies",
"*://*.google.com"
],
...
}
get
获取一个cookie的信息。如果对于给定的URL有多个cookie存在,将返回对应于最长路径的cookie。对于路径长度相同的cookies,将返回最早创建的cookie。
chrome.cookies.get(object details, function callback)
//回调
function(Cookie cookie) {...}; //包含cookie的详细信息。如果没找到cookie,该参数为null。
getAll
从一个cookie存储获取与给定信息匹配的所有cookies。所获取cookies将按照最长路径优先排序。当多个cookies有相同长度路径,最早创建的cookie在前面。
chrome.cookies.getAll(object details, function callback)
//回调
function(array of Cookie cookies) {...}; //所有与给定cookie信息匹配、存在并未过期的cookie列表。
getAllCookieStores
chrome.cookies.getAllCookieStores(function callback)
//回调
function(array of CookieStore cookieStores) {...};
remove
根据名称删除cookie。
chrome.cookies.remove(object details)
set
chrome.cookies.set(object details)
用给定数据设置一个cookie。如果相同的cookie存在,它们可能会被覆盖。
onChanged
chrome.cookies.onChanged.addListener(function(object changeInfo) {...});
当一个cookie被设置或者删除时候触发。
Event 是一个对象,当你关注的一些事情发生时通知你。 以下是一个使用 chrome.tabs.onCreated event 的例子,每当一个新标签创建时,event对象会得到通知:
chrome.tabs.onCreated.addListener(function(tab) {
appendToLog('tabs.onCreated --'
+ ' window: ' + tab.windowId
+ ' tab: ' + tab.id
+ ' index: ' + tab.index
+ ' url: ' + tab.url);
});
如示例所示,使用 addListener() 方法注册通知。 addListener() 方法的参数总是一个函数,是你定义来处理事件的函数, 但该函数的参数取决于你的事件处理。 查看 chrome.tabs.onCreated 的文档, 你可以看到该函数有一个参数:一个 Tab 对象,包含新创建的标签的信息。
你可以调用任何 Event 对象的以下方法:
void addListener(function callback(...))
void removeListener(function callback(...))
bool hasListener(function callback(...))
chorme.history 模块被用于和浏览器所访问的页面记录交互。你可以添加、删除、查询浏览器的历史记录。如果您想覆写历史页面,请查看覆写特定页。
声明
您必须在扩展Manifest文件中声明“history”权限,以便使用history API。如下所示:
{
"name": "My extension",
...
"permissions": [
"history"
],
...
}
过渡类型
History API用一种过渡类型来描述浏览器是如何访问的特定的URL。例如:如果URL是在用户访问页面时,点击链接跳转访问的,此时的过渡类型为“link”。
如下的列表详细定义了各种过渡类型。

$('#history').click((e) => {
let obj = chrome.history
let str = '
'
for (let key in obj) {
str += key + ":" + obj[key] + '
'
}
$('#content').html(str)
});
通过代码可以看到 chrome.history 中包括以下内容:

search
chrome.history.search(object query, function callback)
搜索访问历史中,匹配条件的页面最后一次访问的数据。
function(array of HistoryItem results) {...};getVisits
chrome.history.getVisits(object details, function callback)
获取访问特定URL的所有信息。
function(array of VisitItem results) {...};addUrl
chrome.history.addUrl(object details, function callback)
在当前历史记录中添加一条过渡类型为“link”的URL。
function() {...};deleteUrl
chrome.history.deleteUrl(object details, function callback)
删除指定URL的所有历史记录。
function() {...};deleteRange
chrome.history.deleteRange(object range, function callback)
删除特定日期范围内的所有历史记录条目。页面本身只会在所有访问均在所设定日期的范围内才会被删除。
function() {...};deleteAll
chrome.history.deleteAll(function callback)
删除历史记录中的所有条目。
function() {...};HistoryItem
封装历史查询结果的对象。
HistoryItem 的属性:
onVisited
chrome.history.onVisited.addListener(function(HistoryItem result) {...});
当URL被访问时,此事件被触发。并提供相应URL的 HistoryItem 数据。
onVisitRemoved
chrome.history.onVisitRemoved.addListener(function(object removed) {...});
当一条或多条URL从历史服务中删除,此事件触发。当所有访问被移除后,此条URL从历史记录中被移除。