[英]Web notifications is not working on chrome, but it's working fine on firefox and microsoft edge
I am trying to make web notification, which is worked fine on firefox and microsoft edge. 我正在尝试发出Web通知,该通知在Firefox和Microsoft Edge上运行良好。 even it worked fine on safari.
即使在Safari上也能正常工作。 but it does not want to work on chrome.
但它不想在Chrome上运行。 and it shows no error.
它没有显示错误。 this is my code:
这是我的代码:
<script>
window.setInterval(function(){notifyMe();}, 5000);
function notifyMe() {
if (!("Notification" in window)) {
alert("This browser does not support desktop notification");
} else if (Notification.permission === "granted") {
var data = []
data['title'] = "notification's title";
data['body'] = "notification's body";
var notification = new Notification(data['title'], {
'body': data['body']
});
notification.onclick = function(event) {
window.open('https://www.example.com/', '_blank');
}
} else if (Notification.permission !== "denied") {
Notification.requestPermission().then(function (permission) {
if (permission === "granted") {
var notification = new Notification("really");
}
});
}
}
</script>
Is your website served using https://
- because Chrome has deprecated Notifications API on insecure (eg http://
) origins 您的网站是否使用
https://
-因为Chrome在不可靠的来源(例如http://
)上弃用了Notifications API
Otherwise, your code works just fine in Chrome 否则,您的代码就可以在Chrome中正常运行
HTTPS (Chrome default mode)
HTTPS(Chrome默认模式)
HTTP
HTTP
chrome://settings/content/notifications 铬://设置/内容/通知
https://pushassist.com/knowledgebase/how-to-enable-web-push-notifications-in-google-chrome-non-ssl-site/ https://pushassist.com/knowledgebase/how-to-enable-web-push-notifications-in-google-chrome-non-ssl-site/
open chrome://flags/
, then search notification
打开
chrome://flags/
,然后搜索notification
enable notification 启用通知
demo codes
演示代码
"use strict"; /** * * @author xgqfrms * @license MIT * @copyright xgqfrms * @created 2019-08-17 * * @description * @augments * @example * @link * */ let log = console.log; const webNotificationApp = (debug = false) => { try { if ("Notification" in window) { // let ask = window.Notification.requestPermission(); let ask = Notification.requestPermission(); ask.then( // Permission (permission) => { log(`permission =`, permission); if (permission === "granted") { log(`permission granted`); let msg = new Notification("App Upgrade Info", { body: "a new version app is available, click download: https://app.xgqfrms.xyz/download", icon: "https://cdn.xgqfrms.xyz/logo/icon.png", }); msg.addEventListener(`click`, (e) => { let btn = e.target.dataset(`btn-type`); if (btn === "ok") { log(`OK`); } else { log(`Cancel`); } alert(`clicked notification`); }); }else { log(`notification permission is denied!`); } } ) } else { console.warn(`your browser is too old, which not support web notification!`); } } catch (err) { console.error(`error =`, err); } }; document.addEventListener(`DOMContentLoaded`, () => { log(`DOMContentLoaded`); webNotificationApp(); }); // export default webNotificationApp; // export { // webNotificationApp, // };
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.