This page was saved using WebZIP 7.0.3.1030 offline browser on 12/24/13 11:31:36.
Address: https://crxdoc-zh.appspot.com/extensions/extension.html
Title: chrome.extension - Google Chrome 扩展程序开发文档(非官方中文版)  •  Size: 45438

chrome.extension

描述 chrome.extension API 包含任何扩展程序页面都能使用的实用方法。它包括在扩展程序和内容脚本之间或者两个扩展程序之间交换消息的支持,这一部分内容在消息传递中详细描述。
可用版本 从 Chrome 5 开始稳定支持。

对内容脚本的支持

不像其他 chrome.* API,chrome.extension 中的一部分可以用于内容脚本:

runtime.sendMessage runtime.onMessage
与扩展程序页面进行简单通信
runtime.connect runtime.onConnect
与扩展程序页面进行更进一步的通信
getURL
访问扩展程序资源,例如图片文件

有关详情,请参见内容脚本

chrome.extension 参考

属性

lastError

chrome.extension.lastError
lastError ( object )
如果异步扩展程序 API 发生错误,将在回调函数的生命周期内设置该属性。如果没有错误发生,lastError 将为 undefined

lastError 的属性

message ( string )

对发生的错误的描述。

inIncognitoContext

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

方法

sendRequest

sendRequest 已弃用。请使用 runtime.sendMessage

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

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

参数

extensionId ( optional string )

您希望连接的扩展程序标识符,如果省略,默认为您自己的扩展程序。

request ( any )

responseCallback ( optional function )

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

function(any response) {...};

response ( any )

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

getURL

string chrome.extension.getURL(string path)

将扩展程序安装目录中的相对路径转换为完整的 URL。

参数

path ( string )

扩展程序内的资源,以相对于安装目录的路径表示。

getViews

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

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

参数

fetchProperties ( optional object )

属性

type ( optional enum of "tab", "infobar", "notification", or "popup" )

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

windowId ( optional integer )

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

getBackgroundPage

window chrome.extension.getBackgroundPage()

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

返回值类型的属性

getExtensionTabs

getExtensionTabs 已弃用。请使用 getViews {type: "tab"}

array of window chrome.extension.getExtensionTabs(integer windowId)

返回包含 JavaScript 'window' 对象的数组,对应当前扩展程序中运行的每一个标签页。如果指定了 windowId,只返回附加到指定窗口的标签页的 'window' 对象。

参数

windowId ( optional integer )

isAllowedIncognitoAccess

chrome.extension.isAllowedIncognitoAccess(function callback)

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

参数

callback ( function )

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

function(boolean isAllowedAccess) {...};

isAllowedAccess ( boolean )

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

isAllowedFileSchemeAccess

chrome.extension.isAllowedFileSchemeAccess(function callback)

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

参数

callback ( function )

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

function(boolean isAllowedAccess) {...};

isAllowedAccess ( boolean )

如果该扩展程序可以访问 file:// 协议则为 true,否则为 false。

setUpdateUrlData

chrome.extension.setUpdateUrlData(string data)

设置扩展程序更新 URL 中使用的 CGI 参数 ap 的值,对于托管在 Chrome 网上应用店的扩展程序将忽略这一值。

参数

data ( string )

事件

onRequest

onRequest 已弃用。请使用 runtime.onMessage

扩展程序进程或内容脚本发送请求时产生。

addListener

chrome.extension.onRequest.addListener(function callback)

参数

callback ( function )

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

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

request ( optional any )

调用脚本发送的请求。

sendResponse ( function )

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

onRequestExternal

onRequestExternal 已弃用。请使用 runtime.onMessageExternal

请求从另一个扩展程序发送时产生。

addListener

chrome.extension.onRequestExternal.addListener(function callback)

参数

callback ( function )

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

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

request ( optional any )

调用脚本发送的请求。

sendResponse ( function )

有响应时调用的函数(最多调用一次),参数必须是可以转换为 JSON 的对象,或者没有响应时为 undefined。