我正在写一个 chrome 扩展程序,它会在某些时候收到消息。我希望在我的ico扩展程序的右下角有1,2,3 ... 小红圈,具体取决于用户收到的消息数量。更多,如果用户按下扩展程序并读取那些/那些消息,那么这个小圆圈就会消失
我已经阅读了一些很好的文章,关于我如何能够实现这样的事情,但就目前而言,我所提供的所有内容都是一个基本的通知,它会在十秒后消失。
manifest.json
{
"name": "Notification with Audio",
"description": "notification",
"manifest_version": 2,
"version": "1",
"permissions": [
"notifications"
],
"background": {
"scripts": [
"background.js"
]
}
}
background.js
createNotification(); audioNotification();
function audioNotification(){
var yourSound = new Audio('yourSound.mp3');
yourSound.play();
}
function createNotification(){
var opt = {type: "basic",title: "Your Title",message: "Your message",iconUrl: "your_icon.png"}
chrome.notifications.create("notificationName",opt,function(){});
//include this line if you want to clear the notification after 5 seconds
setTimeout(function(){chrome.notifications.clear("notificationName",function(){});},5000);
}
有人能描述实现我想要的过程吗?使用GCM服务是必须的吗?
答案 0 :(得分:2)
如果您想要显示一个显示未读邮件数量的图标并点击一下,那么您需要一个Browser Action。
浏览器操作可以 在点击时打开一个小页面,称为弹出窗口(如果要显示某些内容,则非常有用)或在后台页面中触发onClicked
事件(如果您有用)想要做其他事情,比如打开一个网页。)
对于计数器,标准方法是使用徽章,可以使用setBadgeText
和setBadgeBackgroundColor
进行设置。或者,您可以使用<canvas>
在图标上绘制某种自定义徽章,并使用setIcon
动态更新图标 - 但这会违反用户界面的传统Chrome。
至于推送消息 - GCM API是一个现成的解决方案,但你可以实现自己的; WebSockets将是一种合适的技术。
如果您对此有更具体的问题,请单独询问。