
- window.addEventListener('load', function () {
- //確認使用者是否允許跳窗,如果沒有,就跳窗取權限
- if (window.Notification && Notification.permission !== "granted") {
- Notification.requestPermission(function (status) {
- if (Notification.permission !== status) {
- Notification.permission = status;
- }
- });
- }
- function NotifyMsg() {
- var option = {
- tag: 'Notification',
- body: '測試測試測試',
- data: 'I am a data',
- icon: '' //可以自訂ICON
- }
- var n = new Notification("Title", option);
- setTimeout(n.close.bind(n), 5000);
- console.log(n.data);
- n.onclick = function (event) {
- event.preventDefault(); // prevent the browser from focusing the Notification's tab
- window.open('http://www.google.com.tw/', '_blank');
- }
- }
- var button = document.getElementsByTagName('button')[0];
- button.addEventListener('click', function () {
- // If the user agreed to get notified
- // Let's try to send ten notifications
- if (window.Notification && Notification.permission === "granted") {
- NotifyMsg();
- }
- // If the user hasn't told if he wants to be notified or not
- // Note: because of Chrome, we are not sure the permission property
- // is set, therefore it's unsafe to check for the "default" value.
- else if (window.Notification && Notification.permission !== "denied") {
- Notification.requestPermission(function (status) {
- if (status === "granted") {
- NotifyMsg();
- }
- // Otherwise, we can fallback to a regular modal alert
- else {
- alert("Hi!");
- }
- });
- }
- // If the user refuses to get notified
- else {
- // We can fallback to a regular modal alert
- alert("Hi!");
- }
- });
- });
參考資料: MDN
沒有留言:
張貼留言