chrome.extension

描述 chrome.extension API 包含任何应用页面都能使用的实用方法。它包括在应用和内容脚本之间或者两个应用之间交换消息的支持,消息传递中详细描述了这些内容。
可用版本 从 Chrome 5 开始支持。
内容脚本 支持 getURL inIncognitoContext lastError onRequest sendRequest 了解更多

摘要

属性
lastError
inIncognitoContext
方法
sendRequest chrome.extension.sendRequest(string extensionId, any request, function responseCallback)
getURL string chrome.extension.getURL(string path)
getViews array of Window chrome.extension.getViews(object fetchProperties)
getBackgroundPage Window chrome.extension.getBackgroundPage()
isAllowedIncognitoAccess chrome.extension.isAllowedIncognitoAccess(function callback)
isAllowedFileSchemeAccess chrome.extension.isAllowedFileSchemeAccess(function callback)

属性

object chrome.extension.lastError 如果异步应用 API 发生错误,将在回调函数的生命周期内设置该属性。如果没有错误发生,lastError 将为 undefined
属性
string message

对发生的错误的描述。

boolean chrome.extension.inIncognitoContext

从 Chrome 7 开始支持。

如果内容脚本正在隐身标签页中运行,或者应用页面在隐身进程中运行,则为 true。后一种情况只适用于具有分离("split")隐身行为的应用。

方法

sendRequest

chrome.extension.sendRequest(string extensionId, any request, function responseCallback)

从 Chrome 33 开始弃用请使用 runtime.sendMessage

向应用中的其他监听者(或另一个应用/应用)发送单个请求。与 runtime.connect 类似,但是只发送具有可选回应的单个请求。extension.onRequest 事件将在应用的每一个页面中产生。

参数
string (可选)
extensionId

您希望连接的应用标识符,如果省略,默认为您自己的应用。

any request
function (可选)
responseCallback

如果您指定了 responseCallback 参数,它应该是一个如下形式的函数:

function(any response) {...};
any response

请求处理程序发出的 JSON 响应对象。如果连接到指定标签页的过程中发生错误,将不传递参数调用回调函数,并将 runtime.lastError 设置为错误消息。

getURL

string chrome.extension.getURL(string path)

将应用安装目录中的相对路径转换为完整的 URL。

参数
string path

应用内的资源,以相对于安装目录的路径表示。

getViews

array of Window chrome.extension.getViews(object fetchProperties)

返回一个数组,含有每一个在当前应用中运行的页面的JavaScript window 对象。

参数
object (可选)
fetchProperties
enum of "tab", "infobar", "notification", or "popup" (可选)
type

要获取的视图类型。如果省略,返回所有视图(包括后台页面和标签页)。有效值为:"tab"(标签页)、"infobar"(信息栏)、"notification"(通知)、"popup"(弹出窗口)。

integer (可选)
windowId

将搜索限制在指定窗口中。如果省略,返回所有视图。

getBackgroundPage

Window chrome.extension.getBackgroundPage()

返回运行在当前应用中的后台网页的 JavaScript window 对象。如果应用没有后台网页则返回 null。

返回值

isAllowedIncognitoAccess

chrome.extension.isAllowedIncognitoAccess(function callback)

从 Chrome 12 开始支持。

获取该应用能否在隐身模式中使用(由用户控制的“在隐身模式下启用”复选框决定)的状态。

参数
function callback

callback 参数应该是一个如下形式的函数:

function(boolean isAllowedAccess) {...};
boolean isAllowedAccess

如果该应用允许在隐身模式下使用则为 true,否则为 false。

isAllowedFileSchemeAccess

chrome.extension.isAllowedFileSchemeAccess(function callback)

从 Chrome 12 开始支持。

获取该应用能否访问 file:// 协议(由用户控制的“允许访问文件网址”复选框决定)的状态。

参数
function callback

callback 参数应该是一个如下形式的函数:

function(boolean isAllowedAccess) {...};
boolean isAllowedAccess

如果该应用可以访问 file:// 协议则为 true,否则为 false。

事件

onRequest

从 Chrome 33 开始弃用请使用 runtime.onMessage

应用进程或内容脚本发送请求时产生。

addListener

chrome.extension.onRequest.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function(any request, runtime.MessageSender sender, function sendResponse) {...};
any (可选)
request

调用脚本发送的请求。

runtime.MessageSender sender
function sendResponse

有响应时调用的函数(最多调用一次),参数必须是可以转换为 JSON 的对象,或者没有响应时为 undefined。如果在同一文档中有多个 onRequest 监听器,只有其中一个可以发送响应。

sendResponse 参数应该是一个如下形式的函数:

function() {...};