Javascript PHP谷歌推送通知

Javascript PHP谷歌推送通知,javascript,php,google-chrome,push-notification,Javascript,Php,Google Chrome,Push Notification,我一直在研究如何将((谷歌推送通知))与PHP结合使用,但是没有太多的工作示例/文档 我试图让它在一个内部网络上工作,这个网络不是通过HTTP对外开放的 我能够在我们面向外部的域中通过HTTPS实现这一点,但内部尝试在Chrome控制台中告诉我,“API可能不再从不安全的来源使用”,我发现这意味着它需要HTTPS 有人知道这方面可能的解决方法吗?欺骗HTTPS,或者允许它通过HTTP继续?我理解谷歌将此作为针对恶意用户的预防措施,但事实并非如此,因为它将用于私人用途 我的HTML只是一个带有on

我一直在研究如何将((谷歌推送通知))与PHP结合使用,但是没有太多的工作示例/文档

我试图让它在一个内部网络上工作,这个网络不是通过HTTP对外开放的

我能够在我们面向外部的域中通过HTTPS实现这一点,但内部尝试在Chrome控制台中告诉我,
“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();
      }
    });
  }
};