Chrome扩展:创建一个新的标签后,点击通知
Chrome extension: Creating a new tab after clicking on the notification
function notify(notifyMessage) {
var options = {
type: "basic",
title: "My Extension",
message: notifyMessage,
iconUrl: "hello.png"
};
chrome.notifications.create("", options, function(notificationId) {
setTimeout(function(){
chrome.notifications.clear(notificationId, function(){});
}, 2000);
});
chrome.notifications.onClicked.addListener(function(notificationId, byUser) {
chrome.tabs.create({url: "http://www.google.com"});
});
}
使用此功能,当我第一次触发notify
并单击通知时,它会创建一个选项卡。当我第二次触发它并单击时,它会创建两个选项卡,等等。我应该如何重新组织我的代码,使它每次只创建一个选项卡?
chrome.notifications.onClicked.addListener
方法将onclick侦听器添加到每个由扩展打开的通知。每次调用该方法都会为所有添加另一个onclick侦听器:如果您调用该方法3次,则每个通知将有3个单击侦听器,每个将打开一个选项卡。
要修改代码,只需在notify函数之外添加click处理程序,只添加一个onclick侦听器。
注意:在点击监听器中指定的回调将被传递给实际点击的通知的通知id,这样如果你同时打开几个通知,你可以区分通知。
通知id为chrome.notifications.create
的第一个参数。在这里,您总是传递""
,所以您总是最多打开一个通知。
相关文章:
- 在<页眉>标签
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- Firebase2(Firebase.google.com)推送通知-从外部管理
- iframe正在添加标签,需要删除它们
- 如何自动调整标签的高度以适应内容
- Jquery标签插件粘贴问题
- Twitter引导程序Typeahead-Id&标签
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- 无法在窗口内使用rootScope.通知
- JS,用于播放提示音以通知未按预期工作
- Morris.js折线图x轴标签在调整大小后消失
- JavaScript goto 标签如何使用内部循环
- 显示某个用户ID的某个标签的30张Instagram图片
- 标签客户端的设置值
- 仅当标签页处于非活动状态时,才会显示 Chrome 桌面通知
- Facebook如何处理桌面通知的点击,即使我的Facebook标签已关闭
- 浏览器标签更改通知,比如当你收到新的gmail电子邮件或Twitter上的新tweet时
- Chrome扩展:创建一个新的标签后,点击通知
- 按标签名称隐藏 JS 通知对象
- 跨窗口/标签在浏览器中使用JavaScript通知