我正在尝试在我的聊天应用程序中实现HTML5通知API。当我在我的本地主机上工作时,一切正常(浏览器提示我是否需要允许来自此站点的通知(。
但是当我尝试从其他计算机访问在本地机器中运行的应用程序时,这些机器都连接到同一网络中。浏览器未提示任何内容。
总结一下我的问题:
http://localhost:3000/home - 这行得通!
http://10.1.0.126:3000/home - 这不以这种方式工作。(即使从我的电脑或其他电脑尝试我的(
这是我用于通知 api 实现的代码
function createNotification(response){
if(!('Notification' in window)){
console.log("This browser does not Notification")
}else{
if(Notification.permission === 'granted'){
createNotification(response) // function to createNotification from response
}else if(Notification.permission !== 'denied'){
Notification.requestPermission((permission) => {
if(permission === 'granted'){
createNotification(response)
}
})
}
function createNotification(response){
// Construct the Notification
let title = response.sender_name
let notificationOptions = {
body: response.message,
icon: default_profile_pic
}
// Close the Notification after 3 seconds
let notification = new Notification(title, notificationOptions)
setTimeout(notification.close.bind(notification),3000)
}
PS:我正在使用ReactJS,Redux进行前端开发。
在 Chrome 62 及更高版本中,除非网站 https://安全,否则您根本无法请求通知 API。(见问题779612(如果您在网站上有https,您应该能够使用通知和后台推送通知。
https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API