chrome.notifications.create有哪些用法

chrome.notifications.create 是 Chrome 扩展程序 API 的一部分,它允许开发者创建桌面通知。这个 API 可以显示一个通知,通知可以包含标题、消息、图标和其它选项。以下是一些 chrome.notifications.create 的用法示例:

基本用法

javascript 复制代码
chrome.notifications.create(
    'notification-id', // 唯一标识符
    {
        type: 'basic', // 通知类型
        iconUrl: 'icon.png', // 图标URL
        title: 'Hello World', // 通知标题
        message: 'This is a simple notification.' // 通知消息
    },
    function callback(createdNotificationId) {
        // 通知创建成功后的回调
        console.log('Notification created with id: ' + createdNotificationId);
    }
);

带按钮的通知

javascript 复制代码
chrome.notifications.create(
    'notification-id',
    {
        type: 'basic',
        iconUrl: 'icon.png',
        title: 'Notification with buttons',
        message: 'Do you like this notification?',
        buttons: [
            { title: 'Yes' },
            { title: 'No' }
        ],
        priority: 2
    },
    function callback(createdNotificationId) {
        console.log('Notification created with id: ' + createdNotificationId);
    }
);

图片通知

javascript 复制代码
chrome.notifications.create(
    'notification-id',
    {
        type: 'image',
        iconUrl: 'icon.png',
        title: 'Image Notification',
        message: 'Check out this image.',
        image: 'image-url.png', // 图片URL
        priority: 1
    },
    function callback(createdNotificationId) {
        console.log('Notification created with id: ' + createdNotificationId);
    }
);

列表通知

javascript 复制代码
chrome.notifications.create(
    'notification-id',
    {
        type: 'list',
        iconUrl: 'icon.png',
        title: 'List Notification',
        message: 'Here is a list of items:',
        items: [
            { title: 'Item 1', message: 'Description of item 1' },
            { title: 'Item 2', message: 'Description of item 2' }
        ],
        priority: 0
    },
    function callback(createdNotificationId) {
        console.log('Notification created with id: ' + createdNotificationId);
    }
);

进度通知

javascript 复制代码
chrome.notifications.create(
    'notification-id',
    {
        type: 'progress',
        iconUrl: 'icon.png',
        title: 'Progress Notification',
        message: 'Downloading something...',
        progress: 50 // 进度值,范围0-100
    },
    function callback(createdNotificationId) {
        console.log('Notification created with id: ' + createdNotificationId);
    }
);

通知事件监听

javascript 复制代码
chrome.notifications.onClicked.addListener(function(notificationId) {
    console.log('Notification clicked: ' + notificationId);
});

chrome.notifications.onClosed.addListener(function(notificationId) {
    console.log('Notification closed: ' + notificationId);
});

chrome.notifications.onButtonClicked.addListener(function(notificationId, buttonIndex) {
    console.log('Button clicked on notification: ' + notificationId + ', button index: ' + buttonIndex);
});

请注意,由于浏览器安全策略和用户体验的考虑,Chrome 扩展程序的通知功能可能受到一些限制,并且需要在扩展程序的清单文件中声明权限。此外,chrome.notifications.create API 可能在不同版本的 Chrome 中有所不同,因此建议查阅最新的 Chrome 开发者文档 以获取最准确的信息。

相关推荐
泯泷30 分钟前
手搓JSVMM第 8 篇:函数调用:参数、返回值与调用帧
前端·javascript·前端框架
Sherotree1 小时前
Google Antigravity——Agent 被提到主界面
前端·ide·后端·edge浏览器
里欧跑得慢2 小时前
Flutter 像素级还原:设计稿到代码的视觉无损转换技巧
前端·css·flutter·web
里欧跑得慢2 小时前
Flutter 三方库 function_tree — 鸿蒙应用开发中的动态数学公式解析与计算神器,实现鸿蒙深度适配下的复杂函数逻辑运行时求值实战(适配鸿蒙 HarmonyOS Next ohos)
android·前端·安全·flutter·华为·harmonyos
苏灿烤鱼2 小时前
没有机密文件,也没有付费数据,在浏览器里造一颗"间谍卫星"
前端·javascript·github
泯泷3 小时前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
泯泷3 小时前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
泯泷3 小时前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷3 小时前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法
泯泷3 小时前
第 4 篇:让 VM 支持变量:Slot、Environment 与 TDZ
前端·javascript·算法