我花了相当多的时间研究这个,希望我错过了一些东西,所以我想我也会把它从StackExchange社区中反弹出来。
背景:
在最新的Chrome> 65时,所有通知都是按站点存储的,因此,如果要为站点授予或拒绝通知弹出窗口并想要撤销该决定(例如,意外点击“阻止”),他们可以只需进入Chrome通知设置,找到该特定网站,然后删除该块即可。这按今天的设计工作,并有详细记录。
所以这是场景中的问题细节:
现在,完全相同的机制用于扩展。扩展最初被授予所有必需的权限并且正常工作。然后,用户使用通知上的“齿轮”齿轮图标意外地点击来自分机的单个桌面通知上的“阻止”一次,然后将通知气球更改为此提示:
现在,任何时候该扩展尝试发送通知消息,而不是正常的桌面通知,在屏幕中间弹出一个丑陋的javascript通知(具有完全相同的通知文本),以及两个按钮 - “确定”和“取消”。如果单击“确定”,则所有扩展功能都保持不变,例如,相同的功能就像用户点击了之前的桌面通知气球弹出窗口一样。
以下是使用流行的Tampermonkey Chrome扩展程序(使用随机选择的具有已知更新的脚本)使用桌面通知API来传达脚本更新的此确切方案的两个屏幕截图:
具有默认授予权限的“普通”桌面通知消息:
用户单击“阻止”撤消该权限后,完全相同的消息(显示在屏幕中央)。 **注意实际的消息本身没有被阻止,我觉得很奇怪,只是桌面通知GUI bubble:
所以,问题实际上是双重的:
好吧,我可以在打开这个官方Chromium bug之后确认它正在等待分类并且显然目前没有解决方法:
https://bugs.chromium.org/p/chromium/issues/detail?id=825497
我还做了进一步的测试,以确定您可以使用扩展程序中的ID并将其添加到“网站”设置中,这些设置也基于该行为,由于某些设置未保存,没有任何预期效果等,这似乎是另一个错误。
我将发布此截至04-09-2018的当前答案:
“一旦被阻止,就无法重新启用针对特定扩展的Chrome桌面通知”。
如果任何人都可以在这里发布成功的解决方法,以任何方式在用户点击“阻止来自此应用程序的所有通知”之后以任何方式重新启用扩展程序的正常桌面通知(使用Tampermonkey测试),以简单地撤销那个很棒的决定我认为,只要这一点仍未得到答复,我就会倾向于相信没有当前的方法,而且它只是一个(明显的)UI错误。
可悲的是,唯一可以解决此问题的方法是删除扩展并重新安装。
这个问题已经开放了将近半年。在这一点上,不要期待很快就能解决问题。 https://bugs.chromium.org/p/chromium/issues/detail?id=825497
如果您受到影响,请在上面的链接中标明此问题。