我想在Web应用程序上设置推送通知,但是我想先在本地开发服务器(由vagrant设置)上对其进行测试,以便本地服务器看起来像htttp://mylocalserver.com。 (我想指出的是,将其更改为127.0.0.1真的很困难,因为这个无用的盒子是由其他人制作的,并且还有其他东西使更改它变得很复杂)
我遇到的第一个问题是
“服务人员错误DOMException:仅允许安全来源” 我使用"unsafely-treat-insecure-origin-as-secure" flag is not working on Chrome
中的解决方案解决了
但是后来我意识到我不能使用任何Notification方法,例如:Notification.permission或Notification.requestPermission。
当我尝试获取Notification.permission时,它返回“ undefined”。有什么方法可以使此功能起作用?
答案 0 :(得分:0)
除了127.0.0.1以外,您不能通过https提供任何有趣的东西
您可以尝试使用chrome web server extension,它将在本地计算机上运行测试服务器,或者在受https保护的公共服务器上设置受限制的访问区域。
您也可以尝试为您的本地服务器生成自签名证书,但是我不确定chrome是否会与之兼容。
答案 1 :(得分:0)
我发现问题所在。该应用程序在窗口对象上具有一个名为“ Notification”的模型,该模型覆盖了浏览器的Notification。
当然,我的“通知”没有这些方法(Notification.permission,Notification.requestPermission()等),因此我更改了模型的名称,一切正常。