Google chrome extension 谷歌富通知,点击打开通知特定url的最佳方式?

Google chrome extension 谷歌富通知,点击打开通知特定url的最佳方式?,google-chrome-extension,notifications,Google Chrome Extension,Notifications,我正在开发一个chrome扩展,目前正在使用chrome.notifications API。 我需要的行为是,让每个通知在单击时都有一个特定且可能不同的url打开 使用chrome富通知,我可以通过chrome.notifications.create(string notificationId,NotificationOptions options,function callback)创建通知,但是options参数不允许我发送额外的信息,比如我希望打开的url 最好的方法是什么 我可以使用

我正在开发一个chrome扩展,目前正在使用chrome.notifications API。 我需要的行为是,让每个通知在单击时都有一个特定且可能不同的url打开

使用chrome富通知,我可以通过
chrome.notifications.create(string notificationId,NotificationOptions options,function callback)
创建通知,但是options参数不允许我发送额外的信息,比如我希望打开的url

最好的方法是什么

我可以使用
chrome.notifications.onClicked.addListener(function(string notificationId){…})
函数和notificationId来找出url是什么,但是我要么再次调用服务器来找出它(我想避免),要么可能将它存储在本地存储器中,但更简单的方法是,当我从服务器接收到通知时,只使用该信息创建通知,而不是仅在单击发生时存储通知或从服务器再次获取通知

我可以使用Html5通知,并执行如下操作:

var notification = new Notification('Notification title', {
  icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
  body: "Hey there! You've been notified!",
});

notification.onclick = function () {
  window.open("http://stackoverflow.com/a/13328397/1269037");
但我会失去RichNotification的功能,我也会尽量避免这样做

有更简单或更好的方法吗


Cheers

notificationId
可以是任意字符串,因此您可以使用URL作为中的
notificationId
。如果URL不一定是唯一的,请添加前缀或后缀。如果希望有更多参数(例如每个按钮的不同操作),则序列化对象(例如使用
JSON.serialize
)。
所有事件监听器(onClosed、onClicked、onButtonClick)都将
通知ID
作为参数接收,因此很容易获取原始数据。

是的,本地存储是我的想法之一,因为我没有持久的背景页。是的,这是一个非常简单的想法。我传递了一个Json作为id,然后我可以在单击通知时执行任何需要的操作,thx