@ng1005/chrome-extension-common
Version:
chrome扩展通用库--消息与storage
30 lines (29 loc) • 894 B
text/typescript
import { ResponseMessage, SendMessage } from "../utils/ResponseUtils";
import { isFunctionAsync } from "../utils/Utils";
import {EventBusDemo} from "./EventBusDemo";
abstract class MessageEventBus extends EventBusDemo{
crossExtension:boolean=false;
getCurrentTabId(callback:Function){
this.getCurrentTabs((tabs:any)=>{
const tabId=tabs.length ? tabs[0].id: null
if(!tabId){
Promise.reject('未找到激活的tab')
}
callback(tabId)
})
return this;
}
getTabs(callback: Function, queryInfo?: chrome.tabs.QueryInfo): this {
let query=Object.assign({},queryInfo)
chrome.tabs.query(query, function(tabs){
if(callback){
callback(tabs);
}
});
return this
}
getCurrentTabs(callback: Function): this {
return this.getTabs(callback,{active: true, currentWindow: true});
}
}
export default MessageEventBus