chrome扩展应用API

时间:2022-04-12 04:21:17

background scripts可以访问所有的 WebExtension JavaScript APIs ,但是不能直接访问页面

content scripts 可以通过标准的DOM api 读取,修改页面,但是只能访问小部分的WebExtension JavaScript APIs,它与background 可以建立通信来交换信息

tabs   -(chrome.tabs)  标签页  :一个浏览器中可以打开多个标签页

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs

通过tab API,可以获取一打开的标签列表,并对它们进行筛选,打开,更新,移动,重载,关闭。虽然不可以直接获取标签的内容,但是可以注入js和css通过tabs.executeScript()和tabs.insertCSS()

使用Tab.url ,Tab.title 和Tab.favIconUrl 需要在permission中添加 “tabs”权限

使用tabs.executeScript() , tabs.inssertCSS() 需要具有访问 该标签的域名权限

上述权限 也可以针对当前活动页面获取暂时的权限,通过添加 “activeTab"到permission中

chrome.tabs.Tab

chrome.tabs.TabStatus                                    表示该标签是否加载完成

chrome.tabs.connect()                                      在background scripts和当前页面运行的content scripts之间建立消息通道

chrome.tabs.create()                                        创建新标签页

chrome.tabs.getCurrent()                                 获取当前脚本运行的标签页的 Tab对象

Tab对象

Tab.id                                                               在一个浏览器会话中,id可以唯一确定一个标签页

Tab.incognito                                                    布尔值,表示这个标签是否在一个隐私窗口中

Tab.index                                                                 整型,窗口中以0开始的标签位置

Tab.status                                                        string,表明加载完成的状态

Tab.title                                                           string, 标签页的标题

Tab.url                                                             string,标签页的url