再来一篇,我们插件v3我们可爱的右键小卡片吧

111 阅读1分钟

我们先来回顾一下v2版可爱的右键小卡片吧

//右键设置区
  chrome.contextMenus.create({
    title: '我们就跳去百度吧', 
    contexts: ['all'], 
    id: "aaa",
    onclick: function (params) {
      // 注意不能使用location.href,因为location是属于background的window对象
      chrome.tabs.create({ url: www.baidu.com});
    }
  }, function () {

  });

v3中废弃了这里的onclick事件,所以呢,我们用chrome.contextMenus.onClicked.addListener去代替这个逝去的小小可爱

let MenuClick=[{
  "title": '我们就跳去百度吧', // %s表示选中的文字
    "contexts": ['all'], // 只有当选中文字时才会出现此右键菜单
    "id": "aaa",
}];
chrome.runtime.onInstalled.addListener(function(){
   MenuClick.forEach(item => {
    chrome.contextMenus.create(item)
   });
})
chrome.contextMenus.onClicked.addListener((info, tab) => {
//不喜欢if或者要加一堆东西的请用switch,健康你我他
  if(info.menuItemId=="aaa"){
    chrome.tabs.create({ url:  www.baidu.com});
  }
})

总的来看就是click单独拎出来集中处理了,这点跟跨域改头文件的规则思路,其实有点像的