浏览器扩展开发之发送系统消息

  1. 要在manifest.json中配置permissions的权限
  2. 调用系统 api 发送,有几种类型的,主要讲basicprogress两种类型的
  3. 还有什么点击这个干什么事情,notification关闭又做什么事情,就自己去研究了吧,主要是添加事件 onClicked.addListener, onClosed.addListener

先对 api 进行一下说明

  • chrome.permissions.getAll(callback) 返回所有正在现实中的 notification
  • chrome.permissions.getPermissionLevel() 返回 notification 的授权状态"denied"和"granted"
  • chrome.permissions.create() 创建 notification
  • chrome.permissions.update() 更新 notification
  • chrome.permissions.clear() 清除所有的 notification

现在有一个需求是:每隔 10s 中给发送一条系统通知,create 里面的第一个参数是 id,这个 id 比较关键,主要是 update 的时候有用,可以覆盖显示

// 创建一个系统通知
let count = 0
const timer = setInterval(() => {
  chrome.notifications.create(`id-${count++}`, {
    type: 'basic',
    iconUrl: chrome.extension.getURL('icons/icon_48.png'), // 这个图片是相对于当前扩展所在的路径
    title: '欢迎使用',
    message: '欢迎使用 xfjpeter 插件,请在设置中进行配置'
  })

  if (count >= 10) {
    clearInterval(timer)
  }
})

创建文件下载的通知进度,这里就用到了 update

  • type 设置成 progress
  • 不断更新 progress 的值
chrome.notifications.create('download', {
  type: 'progress',
  progress: 30,
  iconUrl: chrome.extension.getURL('icons/icon_48.png'),
  title: '欢迎使用',
  message: '正在下载中'
})
let count = 0
const timer = setInterval(() => {
  if (count++ >= 100) {
    clearInterval(timer)
  }

  chrome.notifications.create('download', {
    type: 'progress',
    progress: count > 100 ? 100 : count,
    iconUrl: chrome.extension.getURL('icons/icon_48.png'),
    title: '标题',
    message: count === 100 ? '下载完成' : '正在下载中'
  })
}, 1000)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潇洒哥GG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值