在本地主机上启用浏览器通知

Had*_*l36 5 javascript browser localhost

使用本地主机时如何启用浏览器通知,在控制台中编写内容时Notification.requestPermission();什么都不会出现,但是在控制台中Notification.requestPermission();的任何常规站点上都需要获得权限。

如何使它能够测试我的代码?提前非常感谢您...

Ram*_*ami 5

您的代码应该可以正常工作.. 可能您错过了其他东西.. 请试试这个代码..

用法

sendNotification({
  title: 'New Notification',
  message: 'Your message goes here',
  icon:'https://cdn2.iconfinder.com/data/icons/mixed-rounded-flat-icon/512/megaphone-64.png',
  clickCallback: function () {
    alert('do something when clicked on notification');
  }
});
Run Code Online (Sandbox Code Playgroud)

功能

function sendNotification (data) {
    if (data == undefined || !data) { return false }
    var title = (data.title === undefined) ? 'Notification' : data.title
    var clickCallback = data.clickCallback
    var message = (data.message === undefined) ? 'null' : data.message
    var icon = (data.icon === undefined) ? 'https://cdn2.iconfinder.com/data/icons/mixed-rounded-flat-icon/512/megaphone-64.png' : data.icon
    var sendNotification = function (){
        var notification = new Notification(title, {
            icon: icon,
            body: message
        })
        if (clickCallback !== undefined) {
            notification.onclick = function () {
                clickCallback()
                notification.close()
            }
        }
    }

    if (!window.Notification) {
        return false
    } else {
        if (Notification.permission === 'default') {
            Notification.requestPermission(function (p) {
                if (p !== 'denied') {
                    sendNotification()
                }
            })
        } else {
            sendNotification()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Nik*_*ora 3

请检查浏览器版本是否支持通知,并尝试使用 http://{localhost ip} 而不是 localhost/xyz。