|
||||
---|---|---|---|---|
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
浏览器操作
页面操作
“外部可连接”
“外部可连接”
“ID”
运行时.sendMessage
浏览器.i18n
默认_位置
暴露的
CheckAnyPermissions(检查任何权限)
浏览器.i18n
浏览器.i18n
[无接口对象] 浏览器ExtI18n_接口{ DOMString getMessage_(DOMString-messageName,sequence<DOMStrig?>substitutions); };
[NoInterfaceObject,Exposed=(Window,ContentScript)] 接口浏览器ExtI18nAPI_{ 只读属性BrowserExtI18n_i18n; };
国际18n
浏览器*
浏览器实现BrowserExtI18nAPI_;
“default_locale”:“en”
部分字典BrowserExtManifest_{ DOMString? defaultLocaleValue; };
评估()
浏览器
[CheckAnyPermissions_browserExt_] 界面BrowserExtGlobal{ 只读属性浏览器; }; Window实现BrowserExtGlobal; [无接口对象] 界面浏览器{ }; 字典浏览器ExtIcon{ DOMString路径; DOMString大小; }; typedef序列<BrowserExtIcon>BrowserExtIconArray; 字典浏览器ExtDeveloper{ DOMString名称; DOMString? 网址; }; 字典浏览器ExtBrowserOrPageAction{ 浏览器ExtIcon? defaultIcon; DOMString? 默认弹出菜单; DOMString? 默认标题; }; 字典浏览器ExtKeyValue{ DOMString密钥; DOMString? 价值; }; 字典浏览器ExtBrowserSpecificSettings{ DOMString浏览器名称; 序列<BrowserExtKeyValue>keyValue; }; 字典浏览器ExtBackroundOrEvent{ DOMString? 页面; 布尔持久性; 序列<DOMString>? 脚本; }; 字典浏览器ExtContentScripts{ 布尔型allFrames; 序列<DOMString>? css; 序列<DOMString>? 排除匹配项; 序列<DOMString>? js; 序列<DOMString>匹配; DOMString? 运行于; }; 字典浏览器ExtManifest{ 浏览器外部背景或事件? 背景; 浏览器外部浏览器或页面操作? 浏览器操作; 浏览器外部浏览器特定设置? 浏览器特定设置; 浏览器ExtContentScripts? contentScripts; DOMString? 内容安全策略; DOMString? defaultLocale; DOMString? 描述; 浏览器ExtDeveloper? 开发商; 浏览器ExtIconArray? 图标; DOMString? 宣言版本; DOMString名称; DOMString? 选项页面; 浏览器外部浏览器或页面操作? pageAction; 序列<DOMString>? 权限; 序列<DOMString>? 必需密钥; DOMString? 版本; 序列<DOMString>webAccessibleResources; };
浏览器
浏览器操作
浏览器.context菜单
浏览器实现BrowserExtBrowserActionAPI
浏览器>
浏览器操作
页面操作
浏览器扩展图标
浏览器操作
页面操作
浏览器扩展图标
宣言.json
无效的
宣言.json
无效的
宣言.json
无效的
宣言.json
宣言.json
“背景”:{}
宣言.json
“浏览器操作”:{}
宣言.json
“浏览器特定设置”:{}
宣言.json
“内容脚本”:{}
宣言.json
“内容安全策略”
宣言.json
“默认_位置”
宣言.json
“描述”
宣言.json
“开发人员”:{}
宣言.json
“图标”:{}
宣言.json
“宣言版本”
宣言.json
“名称”
宣言.json
“options_page”
宣言.json
“页面操作”:{}
宣言.json
“权限”:{}
宣言.json
“必需密钥”:[]
宣言.json
“版本”
宣言.json
“web_accesible_resources”:{}
宣言.json
浏览器操作
浏览器操作
浏览器操作
页面操作
“浏览器操作”
“默认标题”
“浏览器操作”:{//必需 “default_icon”:{…},//与“图标”格式相同 “default_popup”:“页面URL”,//可选 “default_title”:“标题字符串”//必需 }
字典浏览器外部浏览器操作默认值{ 浏览器ExtIconArray? defaultIcon; DOMString? 默认弹出菜单; DOMString? 默认标题; }; 部分字典BrowserExtManifest{ 浏览器外部浏览器操作默认值? 浏览器操作默认值; }; typedef序列<byte>BrowserExtColorArray; 字典浏览器ExtTabIdDetails{ 长选项卡Id; }; 字典浏览器ExtBadgeColorArrayTabId{ 浏览器ExtColorArray颜色; 长选项卡Id; }; 字典浏览器ExtBadgePathTabId{ DOMString路径; 长选项卡Id; }; 字典浏览器ExtBadgeTextTabId{ 长选项卡Id; DOMString文本; }; 字典浏览器ExtBadgeTabIdPopup{ DOMString弹出HTMLFileName; 长选项卡Id; }; 回调BrowserExtBrowserActionOnClickedCallback=void(BrowserExtTabsTab选项卡); [无接口对象] 接口浏览器外部浏览器操作{ 无效禁用(长tabId); void enable(长tabId); 承诺<BrowserExtColorArray>getBadgeBackgroundColor(BrowserExtTabIdDetails详细信息); 承诺<DOMString?> getBadgeText(浏览器ExtTabIdDetails详细信息); 承诺<DOMString?> getPopup(浏览器ExtTabIdDetails详细信息); BrowserExtEvent onClicked(BrowserExtBrowserActionOnClickedCallback回调); void setBadgeBackgroundColor(浏览器ExtBadgeColorArrayTabId详细信息); void setBadgeText(浏览器ExtBadgeTextTabId详细信息); Promise<void>setIcon(BrowserExtBadgePathTabId详细信息); void setPopup(浏览器ExtBadgeTabIdPopup详细信息); }; [NoInterfaceObject,Exposed=窗口,CheckAnyPermissions_browserExtBrowserAction_] 接口BrowserExtBrowserActionAPI{ 只读属性BrowserExtBrowserAction浏览器操作; }; 浏览器实现BrowserExtBrowserActionAPI;
宣言.json
宣言.json
宣言.json
宣言.json
宣言.json
浏览器操作
浏览器.getBadge背景颜色
浏览器操作.setIcon()
浏览器操作.setBadgeText()
浏览操作.setPopup()
浏览器操作.onClicked()
浏览器操作
浏览器.浏览器操作
浏览器操作
上下文菜单
“权限”:[//必需 “contextMenus”//必需 ],//必需 “图标”:{//可选 “<size>”:“<name.png>”//可选,建议16号 }//可选
enum BrowserExtContextType{“all”,“audio”,“browser_action”,“editable”,“frame”,“image”,“link”,”page“,”page_action“,“selection”,“video”}; enum BrowserExtItemType{“checkbox”,“normal”,“radio”,“separator”}; 字典浏览器ExtContextMenuCreateDetails{ 布尔校验; 序列<上下文类型>? 语境; 序列<DOMString>? documentUrlPatterns; 启用布尔值; DOMString? 身份证件; 功能onclick; (long还是DOMString?)parentId; 序列<DOMString>? targetUrlPatterns; DOMString? 标题; DOM字符串? 类型; }; 字典浏览器ExtContextMenuUpdateDetails{ 布尔校验; 序列<BrowserExtContextType>? 语境; 序列<DOMString>? documentUrlPatterns; 启用布尔值; 功能onclick; 长parentId; 序列<DOMString>? targetUrlPatterns; DOMString? 标题; ItemType? 类型; }; 字典浏览器ExtContextMenuOnClickedDetails{ 布尔校验; 布尔可编辑; 长帧Id; DOMString? 框架URL; DOMString? 链接URL; DOMString? 媒体类型; (long或DOMString)menuItemId; DOMString? 页面URL; (long还是DOMString?)parentMenuItemId; DOMString? selectionText; DOMString? srcUrl; 布尔值被选中; }; 回调BrowserExtContextMenuOnClickedCallback=void(BrowserextContextMenu OnClicked详细信息,BrowserExtTabsTab选项卡); [无接口对象] 界面BrowserExtContextMenus{ Promise<long>create(BrowserExtContextMenuCreateDetails详细信息); BrowserExtEvent onClicked(BrowserExtContextMenuOnClickedCallback回调); Promise<void>remove((long或DOMString)itemId); 承诺<void>removeAll(); Promise<void>update((long或DOMString)itemId,BrowserExtContextMenuUpdateDetails详细信息); }; [NoInterfaceObject,Exposed=窗口,CheckAnyPermissions_browserExtContextMenus_] 界面BrowserExtContextMenusAPI{ 只读属性BrowserExtContextMenus contextMenus; }; Browser实现BrowserExtContextMenusAPI;
浏览器.context菜单
浏览器.context菜单
浏览器.context菜单
浏览器.context菜单
国际18n
“default_locale”:“<twoCharLocaleCode>”,//必需 “name”:“__MSG_<yourCustomNameStringIdentifier>__”, “description”:“__MSG_<yourCustomDescriptionStringIdentifier>__”,
“default_locale”:“en”,//英文 “name”:“__MSG_MySampleExtension__”, “description”:“__MSG_MySampleExensionDescription__”,
<语言>[_<地区>]
“消息示例”:{ “消息”:“您单击了$URL$。”, “description”:“告诉用户他们单击了哪个链接。”, “占位符”:{ “url”:{ “内容”:“$1” “示例”:“ https://www.w3.org " }
[无接口对象] 接口浏览器ExtI18n{ DOMString getMessage(DOMString-messageName,sequence<DOMStrig?>?substitutions); }; [NoInterfaceObject,Exposed=(Window,ContentScript),CheckAnyPermissions_browserExt_] 界面浏览器ExtI18nAPI{ 只读属性BrowserExtI18n i18n; }; 浏览器实现BrowserExtI18nAPI; 部分字典BrowserExtManifest{ DOM字符串? defaultLocaleValue; };
浏览器.i18n
浏览器.i18n
宣言.json
页面操作
“page_action”:{//必需 “default_icon”:{…},//与“图标”格式相同 “default_popup”:“页面URL”,//可选 “default_title”:“标题字符串”//必需 }
字典浏览器ExtPageActionDefaults{ 浏览器ExtIconArray? 默认图标; DOMString? 默认弹出菜单; DOMString? 默认标题; }; 部分字典BrowserExtManifest{ 浏览器ExtPageActionDefaults? pageActionDefaults; }; 字典浏览器ExtBadgePath{ DOMString路径; }; 回调BrowserExtPageActionOnClickedCallback=void(BrowserExtTabsTab选项卡); 界面BrowserExtPageAction{ 承诺<DOMString?> getPopup(浏览器ExtTabIdDetails详细信息); 承诺<DOMString?> getTitle(BrowserExtTabIdDetails详细信息); void hide(长tabId); BrowserExtEvent onClicked(BrowserExtPageActionOnClickedCallback回调); Promise<void>setIcon(BrowserExtBadgePath路径); void setPopup(浏览器ExtBadgePathTabId详细信息); void setTitle(BrowserExtBadgeTextTabId详细信息); 空显示(长tabId); }; [NoInterfaceObject,Exposed=窗口,CheckAnyPermissions_browserExtPageAction_] 接口BrowserExtPageActionAPI{ 只读属性BrowserExtPageAction pageAction; }; 浏览器实现BrowserExtPageActionAPI;
宣言.json
宣言.json
宣言.json
宣言.json
宣言.json
页面操作.setIcon()
pageAction.onClicked()
浏览器页面操作
浏览器页面操作
浏览器页面操作
运行时
“外部可连接”:[ “ids”:[…],//允许发送消息的其他扩展的标识符 “匹配”:[…]//允许发送消息的托管网页的URL模式 ]
enum BrowserExtRuntimeOnInstalledReason{“浏览器更新”,“扩展安装”,“延伸更新”}; 字典浏览器ExtRuntimeOnInstalledDetails{ BrowserExtRuntimeOnInstalledReason原因; DOMString? 上一版本; DOMString? 身份证件; }; 字典浏览器ExtRuntimePort{ 功能断开; DOMString名称; 对象onDisconnect; 消息对象; 函数postMessage; 浏览器ExtRuntimeMessageSender? 发件人; }; 字典浏览器ExtRuntimeMessageSender{ DOMString? 身份证件; 长帧Id; 浏览器ExtTabsTab? 选项卡; DOMString? 网址; }; 回调BrowserExtRuntimeOnConnectCallback=void(BrowserExtRuntimePort端口); callback BrowserExtRuntimeOnInstalledCallback=void(BrowserExtRuntimeOnInstalledDetails详细信息); callback BrowserExtRuntimeOnMessageCallback=void(可选任意消息,BrowserExtRuntimeMessageSender发送方,Browser ExtRuntimeSendResponseCallback回调); [无接口对象] 界面BrowserExtBrowserRuntime{ 对象getManifest(); DOMString getURL(DOMString-path); 属性DOMString id; void onConnect(BrowserExtRuntimeOnConnectCallback回调); void onInstalled(BrowserExtRuntimeOnInstalledCallback回调); void onMessage(BrowserExtRuntimeOnMessageCallback回调); Promise<any>sendMessage(可选DOMString extensionId,任意消息); 属性BrowserExtRuntimePort端口; 属性BrowserExtRuntimeMessageSender MessageSender; }; [NoInterfaceObject,Exposed=窗口,CheckAnyPermissions_browserExt_] 接口BrowserExtRuntimeAPI{ 只读属性BrowserExtRuntime运行时; }; 浏览器实现BrowserExtRuntimeAPI;
runtime.onInstalled(运行时.on已安装)
runtime.onInstalled(运行时.on已安装)
运行时。 安装原因
原因
更新。
运行时.connect()
选项卡连接()
addListener()
removeListener()
addListener()
removeListener()
on连接
onConnectExternal(连接外部)
选项卡。 选项卡
浏览器.时间
宣言.json
宣言.json
浏览器运行时
浏览器.时间
选项卡
{ “权限”:[//必需 “tabs”//需要“tab”或“activeTab” “activeTab”//需要“tabs”或“activeLab” ]//必需 }
enum BrowserExtTabMutedReasonDetails{“用户”,“捕获”,“扩展”}; enum BrowserExtRunAt{“document_end”,“document _ idle”,“document_start”}; enum BrowserExtTabStatus{“完成”,“加载”}; enum BrowserExtWindowTypes{“应用”,“正常”,“面板”,“弹出”}; enum BrowserExtTabsCaptureVisibleTabFormat{“jpeg”,“png”}; 字典浏览器ExtTabsTab{ 布尔活动; 布尔可听; DOMString? 收藏夹URL; 布尔突出显示; 长高; 长id; 布尔隐姓埋名; 长指数; 选项卡静音细节? mutedDetails; 长openerTabId; 布尔钉住; DOMString? 会话ID; DOMString? 地位; DOMString? 标题; DOMString? 网址; 长宽度; 长窗口ID; }; 字典浏览器ExtTabMutedDetails{ DOMString? 扩展ID; 布尔静音; 选项卡静音原因详细信息? 原因; }; 字典浏览器ExtTabConnectDetails{ 长帧Id; DOMString? 名称; }; 字典浏览器ExtTabCreateDetails{ 布尔活动; 长指数; 长openerTabId; 布尔钉住; DOMString? 网址; 长窗口ID; }; 字典浏览器外部选项卡脚本和CSS详细信息{ 布尔型allFrames; DOMString? 代码; DOMString? 文件; 长帧Id; 布尔匹配AboutBlank; 浏览器ExtRunAt? 运行于; }; 字典浏览器ExtTabsCaptureVisibleTabDetails{ 浏览器ExtTabsCaptureVisibleTabFormat图像捕获格式; 长jpegQuality; }; 字典浏览器ExtTabQueryDetails{ 布尔活动; 布尔可听; 布尔currentWindow; 布尔突出显示; 长指数; 布尔lastFocusedWindow; 布尔静音; 布尔钉住; 选项卡状态? 地位; DOMString? 标题; (DOMString?或序列<DOMString>?)url; 长窗口ID; 窗口类型? windowType; }; 字典浏览器ExtTabReloadDetails{ 布尔旁路缓存; }; 字典浏览器ExtTabSendMessageDetails{ 长帧Id; }; 字典浏览器ExtTabUpdateDetails{ 布尔活动; 布尔突出显示; 布尔静音; 长openerTabId; 布尔固定; DOMString? 网址; }; 字典浏览器ExtTabIdWindowId{ 长选项卡Id; 长窗口ID; }; 字典浏览器ExtTabsWindowsIdIsWindowClosing{ 布尔值为WindowClosing; 长窗口ID; }; 字典浏览器ExtTabsOnUpdatedChangeDetails{ 布尔可听; DOM字符串? favIconUrl; 选项卡静音细节? mutedDetails; 布尔钉住; DOMString? 地位; DOM字符串? 标题; DOMString? 网址; }; 回调BrowserExtTabsOnActivatedCallback=void(BrowserextTabIdWindowsId activeDetails); 回调BrowserExtTabsOnCreatedCallback=void(浏览器ExtTabTab选项卡); 回调BrowserExtTabsOnRemovedCallback=void(长tabId,BrowserextTabsWindowsIdIsWindowClosing removeDetails); 回调BrowserExtTabsOnUpdatedCallback=void(长选项卡Id,BrowserextTabsOnUpdate更改详细信息,Browser ExtTabsTab选项卡); [无接口对象] 界面BrowserExtBrowserTabs{ Promise<DOMString>captureVisibleTab(长窗口ID,BrowserExtTabsCaptureVissibleTabDetails详细信息); RuntimePort连接(long tabId,BrowserExtTabConnectDetails详细信息); Promise<BrowserExtTabsTab>create(BrowserExtTabCreateDetails详细信息); void executeScript(长tabId、BrowserExtTabScript和CSSDetails详细信息); 承诺<BrowserExtTabsTab>get(long tabId); 承诺<BrowserExtTabsTab>getCurrent(); void insertCSS(长tabId、BrowserExtTabScript和CSSDetails详细信息); void onActivated(BrowserExtTabsOnActivatedCallback回调); void onCreated(BrowserExtTabsOnCreatedCallback回调); void onRemoved(BrowserExtTabsOnRemovedCallback回调); void onUpdated(BrowserExtTabsUnUpdatedCallback回调); Promise查询(BrowserExtTabQueryDetails queryDetails); 承诺重新加载(BrowserExtTabReloadDetails详细信息); Promise<void>删除((long或sequence<long>)tabIds); Promise<any>sendMessage(长tabId,任意消息,可选BrowserExtTabSendMessageOptions详细信息); Promise<BrowserExtTabsTab>update(可选长tabId,BrowserExtTabUpdateDetails详细信息); }; [NoInterfaceObject,Exposed=窗口,CheckAnyPermissions_browserExtTabs_] 界面浏览器ExtTabsAPI{ 只读属性BrowserExtTabs选项卡; }; 浏览器实现BrowserExtTabsAPI;
tabs.mutedInfo选项卡
“document_idle”
交互式
完成
加载
选项卡。 选项卡ID_无
会议
选项卡连接()
运行时.onConnect
tabs.create()
tabs.executeScript()
tab.insertCSS()
tabs.captureVisibleTab()
tabs.query()
窗户。 窗口ID_CURRENT
tabs.reload()
选项卡.sendMessage()
tabs.update()
tabs.onActivated()
tabs.onRemoved()
tabs.onUpdate()
tabs.onActivated()
tabs.onCreated()
tabs.onRemoved()
tabs.onUpdate()
浏览器.tabs
选项卡。 选项卡
选项卡。 选项卡
tabs.on更新
tabs.on更新
浏览器扩展选项卡更新详细信息
浏览器.tabs
浏览器.tabs
Web导航
{ “权限”:[//必需 “webNavigation”//必需 ]//必需 }
enum BrowserExtTransitionType{“链接”,“类型化”}; 字典浏览器外部Web导航打开前导航详细信息{ 长帧Id; 长parentFrameId; 长选项卡Id; 双时间戳; DOMString url; }; 字典浏览器ExtWebNavigationOnCommittedDetails{ 长帧Id; 长进程ID; 长选项卡Id; 双时间戳; 转换类型转换类型; DOMString url; }; 字典浏览器ExtWebNavigationOnCompletedDetails{ 长帧Id; 长进程ID; 长选项卡Id; 双时间戳; DOMString url; }; 字典浏览器ExtWebNavigationOnDOMContentLoadedDetails{ 长帧Id; 长进程ID; 长标签ID; 双时间戳; DOMString url; }; 字典浏览器ExtWebNavigationOnErrorOccurredDetails{ DOMString错误; 长帧Id; 长标签ID; 双时间戳; DOMString url; }; 字典浏览器ExtWebNavigationOnReferenceFragmentUpdatedDetails{ 长帧Id; 长进程ID; 长选项卡Id; 双时间戳; 浏览器ExtTransitionType转换类型; DOMString url; }; 回调BrowserExtWebNavigationOnBeforeNavigateCallback=void(BrowserextWebNavigation OnBefore NavigateDetails详细信息); callback BrowserExtWebNavigationOnCommittedCallback=void(BrowserExtWebNavigationOnCommittedDetails详细信息); 回调BrowserExtWebNavigationOnCompletedCallback=void(BrowserextWebNavigtionOnCompleted详细信息); 回调BrowserExtWebNavigationOnDOMContentLoadedCallback=void(BrowserextWebNavigtionOnDOMCentLoaded详细信息); 回调BrowserExtWebNavigationOnErrorOccurredCallback=void(BrowserextWebNavigtionOnErrorocurredDetails详细信息); 回调BrowserExtWebNavigationOnReferenceFragmentUpdated=void(BrowserextWebNavigation OnReference FragmentUpdate详细信息); [无接口对象] 界面BrowserExtBrowserWebNavigation{ void onBeforeNavigate(浏览器ExtWebNavigationOnBeforeNavigateCallback回调); void onCommitted(BrowserExtWebNavigationOnCommittedCallback回调); void onCompleted(BrowserExtWebNavigationOnCompletedCallback回调); void onDOMContentLoaded(BrowserExtWebNavigationOnDOMContent LoadedCallback回调); void onErrorOccurred(BrowserExtWebNavigationOnErrorOcurredCallback回调); void onReferenceFragmentUpdated(BrowserExtWebNavigationOnReferenceFagmentUplated回调); }; [NoInterfaceObject,Exposed=窗口,CheckAnyPermissions_browserExtWebNavigation_] 界面BrowserExtWebNavigationAPI{ 只读属性BrowserExtWebNavigation webNavigation; }; 浏览器实现BrowserExtWebNavigationAPI;
webNavigation.onBeforeNavigate
webNavigation.onCommitted(webNavigation)
webNavigation.on已完成
webNavigation.onDOM内容已加载
webNavigation.onError发生
webNavigation.onReferenceFragment已更新
webNavigation.onBeforeNavigate
webNavigation.onCommittedCallback(webNavigation)
webNavigation.onCompleted回调
webNavigation.onDOMContentLoaded回调
webNavigation.onErrorOccurred回调
webNavigation.onReferenceFragment已更新
浏览器.web导航
DOM内容已加载
浏览器.web导航
浏览器.web导航
Web请求
{ “权限”:[//必需 “webRequest”//必需 “webRequestBlocking”//可选 “<URL pattern>”//可选,例如“*://*.w3.org/” ]//必需 }
enum BrowserExtResourceType{“font”,“image”,“main_frame”,“object”,“other”,”ping“,”script“,”stylesheet“,”sub_frame“,”xmlhttprequest“}; 字典浏览器ExtWebRequestUploadDetails{ 任何字节; DOMString? 文件; }; 字典浏览器ExtWebRequestRequestBody{ DOMString? 误差; 对象? 表单数据; 序列<BrowserExtWebRequestUploadData>? 原始数据; }; 字典浏览器ExtWebRequestHttpHeader{ DOMString keyName; 任何值; }; 字典浏览器ExtWebRequestHttpHeaders{ 序列<BrowserExtWebRequestHttpHeader>data; }; 字典浏览器ExtWebRequestOnBeforeRequestDetails{ 长帧Id; DOMString方法; 长parentFrameId; 浏览器ExtWebRequestRequestBody? 请求正文; DOMString请求ID; 长选项卡Id; 双时间戳; BrowserExtResourceType类型; DOMString url; }; 字典浏览器ExtWebRequestOnBeforeSendHeaders详细信息{ 长帧Id; DOMString方法; 长parentFrameId; 浏览器ExtWebRequestHttpHeaders? requestHeaders; DOMString请求ID; 长标签ID; 双时间戳; BrowserExtResourceType类型; DOMString url; }; 字典浏览器ExtWebRequestOnCompletedDetails{ 长帧Id; 布尔fromCache; DOMString方法; 长parentFrameId; DOMString请求ID; 浏览器ExtWebRequestHttpHeaders? responseHeaders; DOMString? 服务器IP; 长状态代码; DOMString statusLine; 长选项卡Id; 双时间戳; BrowserExtResourceType类型; DOMString url; }; 字典浏览器ExtWebRequestOnHeadersReceivedDetails{ 长帧Id; DOMString方法; 长parentFrameId; DOMString请求ID; 浏览器ExtWebRequestHttpHeaders? responseHeaders; 长状态代码; DOMString statusLine; 长选项卡Id; 双重时间戳; BrowserExtResourceType类型; DOMString url; }; 字典浏览器ExtWebRequestOnSendHeadersDetails{ 长帧Id; DOMString方法; 长parentFrameId; 浏览器ExtWebRequestHttpHeaders? requestHeaders; DOMString请求ID; 长选项卡Id; 双时间戳; BrowserExtResourceType类型; DOMString url; }; 回调BrowserExtWebRequestOnBeforeRequestCallback=void(BrowserextWebRequestonBefore请求详细信息); 回调BrowserExtWebRequestOnBeforeSendHeadersCallback=void(BrowserextWebRequestonBeforesendHeaders详细信息); 回调BrowserExtWebRequestOnCompletedCallback=void(BrowserExtWebRequestOnCompletedDetails详细信息); 回调BrowserExtWebRequestOnHeadersReceivedCallback=void(BrowserExtWebRequestOnHeadersReceivedDetails详细信息); callback BrowserExtWebRequestOnSendHeadersCallback=void(浏览器ExtWebRequest OnSendheadersDetails详细信息); [无接口对象] 接口BrowserExtBrowserWebRequest{ void onBeforeRequest(BrowserExtWebRequestOnBefore请求回调); void onBeforeSendHeaders(BrowserExtWebRequestOnBeforeSendHeadersCallback回调); void onCompleted(BrowserExtWebRequestOnCompletedCallback回调); void onHeadersReceived(BrowserExtWebRequestOnHeadersReceivedCallback回调); void onSendHeaders(函数回调); }; [NoInterfaceObject,Exposed=窗口,CheckAnyPermissions_browserExtWebRequest_] 接口浏览器ExtWebRequestAPI{ 只读属性BrowserExtWebRequest webRequest; }; 浏览器实现BrowserWebRequestAPI;
浏览器.webRequest
浏览器.webRequest
browser.web请求
浏览器.webRequest
浏览器.webRequest
browser.web请求
浏览器.webRequest
浏览器.webRequest
浏览器.webRequest
浏览器.webRequest
webRequest.onBeforeRequestCallback
web请求.onBeforeSendHeadersCallback
webRequest.onCompleted回拨
webRequest.onHeadersReceivedCallback
webRequest.onSendHeaders回拨
浏览器.webRequest
浏览器.webRequest
浏览器.webRequest
窗户
enum BrowserExtWindowsWindowType{“detached_panel”,“normal”,“panel”,”popup“}; enum BrowserExtWindowsWindowState{“停靠”,“全屏”,“最大化”,“最小化”,“正常”}; 字典浏览器ExtCreateWindowDetails{ 布尔聚焦; 长高; 布尔隐姓埋名; 长左; 浏览器ExtWindowsWindowsState? 国家; 长选项卡Id; 长顶; (DOMString?或序列<DOMString>?)url; 长宽; 浏览器扩展窗口窗口类型? windowType; }; 字典浏览器ExtGetWindowDetails{ 布尔填充; 序列<BrowserExtWindowsWindowType>? 窗口类型; }; 字典浏览器ExtWindowUpdateDetails{ 布尔drawAttention; 布尔聚焦; 长高; 左长; 长顶; 长宽; 浏览器ExtWindowState? 窗口状态; }; 字典浏览器ExtWindowsWindow{ 布尔值始终位于顶部; 布尔聚焦; 长高; 长id; 布尔隐姓埋名; 左长; 序列<BrowserExtTabsTab>? 选项卡; 长顶; DOMString? sessionId; 浏览器ExtWindowsWindowsState? 国家; 长宽; 浏览器扩展窗口窗口类型? windowType; }; 回调BrowserExtWindowsOnFocusChangedCallback=void(长windowId); [无接口对象] 界面BrowserExtWindows{ 承诺<BrowserExtWindowsWindow>create(CreateWindowDetails详细信息); Promise<BrowserExtWindowsWindow>get(long windowId,可选BrowserExtGetWindowDetails详细信息); Promise<sequence<BrowserExtWindowsWindow>>getAll(可选的BrowserExtGetWindowDetail详细信息); Promise<BrowserExtWindowsWindow>getCurrent(可选的BrowserExtGetWindowDetail详细信息); Promise<BrowserExtWindowsWindow>getLastFocused(可选的BrowserExtGetWindowDetail详细信息); void onFocusChanged(BrowserExtWindowsOnFocusChangerdCallback回调); 承诺<BrowserExtWindowsWindow>update(长windowId,可选BrowserextWindowsUpdateDetails详细信息); }; [NoInterfaceObject,Exposed=窗口,CheckAnyPermissions_browserExt_] 界面浏览器ExtWindowsAPI{ 只读属性BrowserExtWindows窗口; }; 浏览器实现BrowserExtWindowsAPI;
窗户。 窗口
选项卡。 选项卡
浏览器扩展窗口窗口类型
选项卡。 选项卡
浏览器.windows.onFocusChanged
浏览器.windows
窗户。 窗口ID_NONE
浏览器.windows
浏览器.windows
[NoInterfaceObject,Exposed=(Window,ContentScript),CheckAnyPermissions_browserExt_] 界面BrowserExtEvent{ void addListener(函数回调); void removeListener(函数回调); boolean hasListener(函数回调); 布尔型hasListeners(); };
__消息_扩展名__
__消息_@@ui_locale__
| ||
| ||
|
| |
| ||
|
| |
|
| |
|
|
|
|
|
|
|
| |
|
| |
|
| |
| ||
| ||
| ||
|
| |
| ||
|
| |
|
|
tabs.execute脚本
Web请求
活动标签
. The
必需的密钥
//符合标准的浏览器应该忽略“//”注释。 无视评论, //用于浏览器扩展的manifest.json文件格式预计将完全符合json。 //不支持格式错误的JSON文件。 // //必须忽略格式良好的JSON但未在此列出的其他清单键。 // //请注意,此处标记为可选的一些字段是特定于供应商的分销商店所必需的。 { “name”:“您的分机名称”,//必填 “version”:“您的扩展版本”,//必需 “default_locale”:“en”,//如果使用区域设置,则为必填项。 否则,不允许 “description”:“您的分机说明”, “图标”:{…}, “开发人员”:{ “name”:“您的姓名或公司”, “url”:“公司网站” } //注意:有些浏览器需要扩展才能同时使用browser_action或page_action “浏览器操作”:{ “default_icon”:{…},//与“图标”格式相同 “default_popup”:“页面URL”, “default_title”:“标题字符串” }, “page_action”:{…},//与“浏览器_操作”的格式相同 “browser_specific_settings”:{ “<browser_name>”:{//例如“壁虎”、“歌剧”、“边缘” “<key>”:“<value>”//示例“strict_min_version”:“42.0”,“id”:“ addon@example.com " } }, “背景”:{ “page”:“page URL”,//只支持“page(页面)”或“scripts(脚本)”中的一个,但不能同时支持这两个 “scripts”:[],//只支持“page”或“scripts “persistent”:false//如果指定了“background”,则为必填项 }, “内容脚本”:{ “所有帧”:false, “css”:[], “exclude_matches”:[], “js”:[], “匹配项”:[], “run_at”:“document_start”//还有“document _ end”,“documentic _ idle” } “content_security_policy”:“<policy-string>”, “options_page”:“页面URL”,//可选 “manifest_version”:2,//未使用 “required_keys”:[],//如果浏览器无法识别此列表中的密钥,则必须 //拒绝清单(例如“sidebar_action”) //反馈:重命名为“required_capabilities” “权限”:{ “活动标签”, “上下文菜单”, “标签”, “网络导航”, “webRequest”, “webRequestBlocking”, “<url-pattern>”//示例“http://*/*”、“<all_urls>” }, “web_accessible_resources”:[…] “外部可连接”:[ “ids”:[…],//允许发送消息的其他扩展的标识符 “匹配”:[…]//允许发送消息的托管网页的URL模式 ] }
浏览器文本://
“script-src'self';object-src'self',”
<脚本>
<对象>
eval(“script_goes_here;”);
window.setTimeout(“script_goes_here;”,t);
var f=新函数(“script_goes_here;”);
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
启用浏览器扩展
宣言.json
宣言.json
安装浏览器扩展()
卸载浏览器扩展()
获取浏览器扩展()
获取浏览器扩展操作()
获取浏览器扩展()
takeBrowserExtAction()
|
|
|
|
|
|
|
获取浏览器扩展()
获取浏览器扩展操作()
页面操作
浏览器操作
使可能
使残废
获取浏览器外部上下文菜单项()
|
|
|
|
|
|
|
|
|
|
选择浏览器外部上下文菜单项()
获取浏览器外部上下文菜单项()
获取浏览器外部权限提示()
提示ID
提示消息文本
宣言.json
提示默认区域设置
宣言.json
提示请求URL
“权限”:[]
马尼塞斯特·杰森
提示权限
“权限”:[]
马尼塞斯特·杰森
提示操作
允许
否认
|
||
|
|
|
|
|
|
|
|
takeBrowserExtPermissionPromptAction()