开发者文档
sogouExplorer.extension

此文档中主要描述与chrome api的不同之处,chorme的对应api请参见 http://code.google.com/chrome/extensions/extension.html

sogouExplorer.extension这个模块主要包含了可以被插件使用的一些工具。例如在插件和脚本间交换信息等内容。


API参考:sogouExplorer.extension

方法

connect

Port sogouExplorer.extension.connect(string extensionId, object connectInfo)

尝试连接到扩展内的其他监听器(例如本扩展的background page)。本方法经常使用于content scripts连接到扩展进程的
时候。反之,如果扩展想要连接到content scripts,那么使用sogouExplorer.tabs.connect()。
 
参数 
 
extensionId( 可选 string ) 
   你想要连接到的扩展的ID。如果没有指定,那么默认是连接到你自己的扩展。
connectInfo( 可选 object ) 
  name( 可选 string ) 
    这个参数将会被传递到扩展进程的onConnect方法中。
 
返回 
( Port ) 
   通过这个Port,信息可以被传递和接收。如果在连接的时候扩展没有找到,那么port的onDisconnect事件将会被触发。


getURL

string sogouExplorer.extension.getURL(string path)

将针对于扩展目录的相对URL地址转换为一个标准的URL地址。
 
参数 
path( string ) 
   将要被转换的相对URL地址。
 
返回 
( string ) 
   一个标准严格的URL地址。


sendRequest

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

向扩展内的其它listeners发送一个请求,类似于sogouExplorer.extension.connect,不同的是这个方法并不一定要求
response。本扩展内页面中的sogouExplorer.extension.onRequest事件将会被触发。
 
参数 
extensionId( 可选 string ) 
   给定你想要连接的扩展的ID。如果没有指定,那么默认连接的是你自己的扩展。
request( any )  
responseCallback( 可选 function ) 
  参数 
  response ( any ) 
    返回一个json类型的对象。如果在连接的过程中发生了错误,那么callback方法将会没有任何参数,同时
     sogouExplorer.extension.lastError将会被设置成出错的信息。
 
Callback方法 
   如果指定了callback方法,那么它应该如下所示:
     function(any response) {...};
response( any ) 
   一个json类型的对象。如果在连接的过程中发生了错误,那么callback方法将会没有任何参数,同时
   sogouExplorer.extension.lastError将会被设置成出错的信息。


事件

onConnect

sogouExplorer.extension.onConnect.addListener(function (Port port) {...});

每当从扩展进程或者content script得到连接的时候,这个事件将会被触发。
 
参数 
port ( Port ) 
   详见Port。


onRequest

sogouExplorer.extension.onRequest.addListener(function (any request, MessageSender sender, function sendResponse) {...});

每当从扩展进程或者content script得到请求的时候,这个事件将会被触发。
 
参数 
request( any ) 
   从请求脚本发送过来的请求。
sender( MessageSender ) 
   详见MessageSender。
sendResponse( function ) 
   如果指定了response方法,那么这个方法将会被触发。参数必须是符合JSON规范的对象,如果没有指定参数的话将会是
   undefined。


类型

MessageSender

( object )

包含了脚本上下文信息的对象,可以用来传送消息和请求。
 
tab( 可选 Tab ) 
   这个属性只有在连接是从标签页或者content script发起的时候才会出现。
id( string ) 
   扩展的ID。


Event

( object )

用来添加或者删除listeners的对象。
 
addListener( function )
removeListener( function )
hasListener( function )
hasListeners( function )


Port

( object )

两个页面用来进行通信的对象。
 
name( string )
onDisconnect( Event )
onMessage( Event )
postMessage( function )
sender( 可选 MessageSender )
  这个属性只有在onConnect的时候才会出现。


未实现的api

chrome.extension.getViews(object fetchProperties)

chrome.extension.setUpdateUrlData(string data)

chrome.extension.getBackgroundPage()

chrome.extension.onRequestExternal.addListener(function(any request, MessageSender sender, function sendResponse) {...});

chrome.extension.onConnectExternal.addListener(function(Port port) {...});

未实现的属性

 lastError 
 
 sogouExplorer.extension.lastError
   lastError( 可选 object )
      在一个callback方法的生命周期中,如果异步扩展的api产生了错误,那么lastError将会被设置。反之如果没有遇到
       任何错误,那么lastError的值将会是undefined   message ( string ) 
       错误的详细描述


inIncognitoContext

sogouExplorer.extension.inIncognitoContext

inIncognitoContext( 可选 object )
  如果为true,那么脚本内容将会在隐身标签页中运行,而且扩展页面将会在隐身进程下运行。
  message ( boolean ) 
    判断页面或者脚本是否是在隐身进程中。