我在我的项目中使用推送浏览器通知,一切正常,除了点击通知,我希望它根据通知数据打开动态网址
我的代码
$("#pagin li a").closest(".current").prev(".pagination")
$("#pagin li a.current").prev()
$("#pagin li a.pagination.current").prev()
所以有什么属性我可以推进事件?喜欢url还是某事?
答案 0 :(得分:3)
您可以传入一个字符串化的对象(带有JSON.stringify()
),然后将其解析回event.data.json()
的对象,而不是仅将文本传递到推送处理程序中。然后,您可以将url设置为通知对象的data属性的一部分。
self.addEventListener('push', function(event) {
const myObject = event.data.json();
const options = {
body: myObject.bodyText,
data: myObject.url,
...
};
return self.registration.showNotification(myObject.title, options);
});
稍后可以在“notificationclick”事件中访问数据对象
self.addEventListener("notificationclick", function(event) {
event.waitUntil(clients.openWindow(event.notification.data.url));
});
答案 1 :(得分:0)
上面的答案有一个错误,因为RewriteCond %{QUERY_STRING} (?:^|&)param1\[\]=([^&]*) [NC]
RewriteRule ^ %{REQUEST_URI}/%1 [QSD,L,R=301]
中不存在url,因为他说您必须使用data
传递json字符串,然后使用{{将其转换回json 1}},所以这是我最后的正确代码。
JSON.stringify()