![](/img/trans.png)
[英]Javascript not working in edge, but fine in Firefox, Chrome
[英]Web notifications is not working on chrome, but it's working fine on firefox and microsoft edge
我正在嘗試發出Web通知,該通知在Firefox和Microsoft Edge上運行良好。 即使在Safari上也能正常工作。 但它不想在Chrome上運行。 它沒有顯示錯誤。 這是我的代碼:
<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>
您的網站是否使用https://
-因為Chrome在不可靠的來源(例如http://
)上棄用了Notifications API
否則,您的代碼就可以在Chrome中正常運行
HTTPS(Chrome默認模式)
HTTP
鉻://設置/內容/通知
打開chrome://flags/
,然后搜索notification
啟用通知
演示代碼
"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.