我相信你已经在then()
函数内部解决了Promise。我通过删除window测试了你的示例,它对我有效。
Notification.requestPermission().then(function(getperm)
{
console.log('Perm granted', getperm)
});
我在Android上的“Samsung Internet”应用程序(当前版本)中遇到了相同/类似的问题。 Notification.requestPermission()
返回default
,但实际上没有显示提示。
这是我的确切情况:
Notification.requestPermission()
返回default
,但不再显示提示。我的代码在Edge、Chrome和Firefox的桌面版本中按预期工作(即使将Web应用程序移动到新服务器),但在Android上的“Samsung Internet”应用程序中却没有。
根据我的理解,如果通知已经被接受,那么Notification.requestPermission()
应该返回granted
,当然不会显示提示。如果通知已经被拒绝,那么Notification.requestPermission()
应该返回rejected
,当然也不会显示提示。但是由于Notification.requestPermission()
实际上返回了default
(我在我的手机上验证过!),所以我希望在任何情况下都能显示提示。这个期望是正确的吗?还是我漏掉了什么?为什么在这种情况下我的手机没有显示提示?
2023年4月19日编辑:
在我完全卸载PWA并清除了“三星互联网”应用程序中的网站数据后重新安装PWA,它又可以正常工作了。但我仍然想知道为什么即使Notification.requestPermission()
返回default
,提示也没有显示...?