Javascript PHP谷歌推送通知
我一直在研究如何将((谷歌推送通知))与PHP结合使用,但是没有太多的工作示例/文档 我试图让它在一个内部网络上工作,这个网络不是通过HTTP对外开放的 我能够在我们面向外部的域中通过HTTPS实现这一点,但内部尝试在Chrome控制台中告诉我,Javascript PHP谷歌推送通知,javascript,php,google-chrome,push-notification,Javascript,Php,Google Chrome,Push Notification,我一直在研究如何将((谷歌推送通知))与PHP结合使用,但是没有太多的工作示例/文档 我试图让它在一个内部网络上工作,这个网络不是通过HTTP对外开放的 我能够在我们面向外部的域中通过HTTPS实现这一点,但内部尝试在Chrome控制台中告诉我,“API可能不再从不安全的来源使用”,我发现这意味着它需要HTTPS 有人知道这方面可能的解决方法吗?欺骗HTTPS,或者允许它通过HTTP继续?我理解谷歌将此作为针对恶意用户的预防措施,但事实并非如此,因为它将用于私人用途 我的HTML只是一个带有on
“API可能不再从不安全的来源使用”
,我发现这意味着它需要HTTPS
有人知道这方面可能的解决方法吗?欺骗HTTPS,或者允许它通过HTTP继续?我理解谷歌将此作为针对恶意用户的预防措施,但事实并非如此,因为它将用于私人用途
我的HTML只是一个带有onclick=“notifyMe()”
事件的按钮
请求权限的脚本和通知的函数:
<script>
// request permission on page load
document.addEventListener('DOMContentLoaded', function () {
if (!Notification) {
alert('Desktop notifications not available in your browser. Try Chromium.');
return;
}
if (Notification.permission !== "granted")
Notification.requestPermission();
});
function notifyMe() {
if (Notification.permission !== "granted")
Notification.requestPermission();
else {
var notification = new Notification('Notification title', {
icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
body: "Hey there! You've been notified!",
});
notification.onclick = function () {
window.open("http://example.com");
};
}
}
</script>
在做了大量的研究和测试之后,我发现如果没有HTTPS连接,即使是在内部网络上,也不可能使用Google Chrome通知 我选择了设置SSL证书,这解决了我的问题
'use strict';
var button = document.querySelector('button');
var input = document.querySelector('input');
var notify = function() {
var options = {
body: input.value,
icon: 'icon.png',
tag: 'foo',
type: 'basic'
};
var n = new Notification('Greetings!', options);
n.onclick = function() {
console.log('Clicked.');
};
n.onclose = function() {
console.log('Closed.');
};
n.onshow = function() {
console.log('Shown.');
};
};
button.onclick = function() {
if (!('Notification' in window)) {
alert('This browser does not support desktop notification');
} else if (Notification.permission === 'granted') {
notify();
} else if (Notification.permission !== 'denied') {
Notification.requestPermission(function(permission) {
if (!('permission' in Notification)) {
Notification.permission = permission;
}
if (permission === 'granted') {
notify();
}
});
}
};