chrome下使用ip访问项目无法正常使用web notification api

heshunwq 2018-01-17 04:55:11
1.使用Notification来进行通知,申请权限相关代码也执行了。在使用localhost:8080访问可顺利弹出通知框。但是使用本机ip(如:http://192.168.1.45:8080/)访问时却无法弹出通知框。
2.检查了chrome的权限设置,localhost的时候权限为:

而在ip访问时却是:

3.尝试通过设置将ip的通知权限开放:

4.再次查看权限时已经是允许,但此时依然无法弹出通知框。而申请权限的代码Notify.requestPermission();结果是被拒绝
5.最终项目部署的时候,肯定是通过ip访问的,所以我想要在使用ip访问的时候,也能弹出通知框。请问各位如何解决这个问题?

...全文
1613 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫金丨小飞侠 2020-03-03
  • 打赏
  • 举报
回复
引用 1 楼 karl_rose 的回复:
Notification.requestPermission(function (status) {
            //status是授权状态,如果用户允许显示桌面通知,则status为'granted'
            // console.log('status: ' + status);
            //permission只读属性
            var permission = Notification.permission;
            console.log(permission);
            //default 用户没有接收或拒绝授权请求 不能显示通知
            //granted 用户接受授权请求 允许显示通知
            //denied  用户拒绝授权请求 不允许显示通知

        });
这样会先获取你是否赋权
chrome版本更新之后好像是必须https了
紫金丨小飞侠 2020-02-14
  • 打赏
  • 举报
回复
Notification.requestPermission(function (status) {
            //status是授权状态,如果用户允许显示桌面通知,则status为'granted'
            // console.log('status: ' + status);
            //permission只读属性
            var permission = Notification.permission;
            console.log(permission);
            //default 用户没有接收或拒绝授权请求 不能显示通知
            //granted 用户接受授权请求 允许显示通知
            //denied  用户拒绝授权请求 不允许显示通知

        });
这样会先获取你是否赋权

39,083

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧