Last active
June 6, 2021 18:29
-
-
Save luislobo14rap/2845542177ef3ed4d816d02af213bbcb to your computer and use it in GitHub Desktop.
notify-api.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // notifyAPI.js v1.1, inspired by https://developer.mozilla.org/en-US/docs/Web/API/Notification/permission | |
| let notifyAPI = { | |
| support: function() { | |
| return 'Notification' in window; | |
| }, | |
| permission: function() { | |
| switch (Notification.permission) { | |
| case 'granted': | |
| return true; | |
| break; | |
| case 'denied': | |
| return false; | |
| break; | |
| default: | |
| return null; | |
| }; | |
| }, | |
| requestPermission: function(resolve = function() {}, reject = function() {}) { | |
| Notification.requestPermission().then(function(permission) { | |
| switch (permission) { | |
| case 'granted': | |
| resolve(); | |
| break; | |
| default: | |
| reject(); | |
| }; | |
| }); | |
| }, | |
| noty: function(title = '', body = '', icon = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU1NzcyLCAyMDE0LzAxLzEzLTE5OjQ0OjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QkIxRUU2MTRFNDdBMTFFODhCRjJGOEMwNEVBRUMyNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QkIxRUU2MTVFNDdBMTFFODhCRjJGOEMwNEVBRUMyNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCQjFFRTYxMkU0N0ExMUU4OEJGMkY4QzA0RUFFQzI0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCQjFFRTYxM0U0N0ExMUU4OEJGMkY4QzA0RUFFQzI0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', audio, goToPage) { | |
| let thisNotification = new Notification(title, { | |
| body: body, | |
| icon: icon | |
| }); | |
| if (typeof audio == 'string') { | |
| audio = $('<audio src="' + audio + '" autoplay="autoplay"></audio>').appendTo('body'); | |
| audio[0].onended = function() { | |
| audio.remove(); | |
| }; | |
| }; | |
| if (typeof goToPage == 'string') { | |
| if (goToPage.indexOf('://') == -1) { | |
| goToPage = '//' + goToPage; | |
| }; | |
| thisNotification.onclick = function(e) { | |
| e.preventDefault(); | |
| window.open(goToPage, '_blank'); | |
| }; | |
| }; | |
| } | |
| }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // notify-api.min.js v1.1 | |
| let notifyAPI={support:function(){return'Notification'in window},permission:function(){switch(Notification.permission){case'granted':return!0;break;case'denied':return!1;break;default:return null;}},requestPermission:function(a=function(){},b=function(){}){Notification.requestPermission().then(function(c){'granted'===c?a():b()})},noty:function(a='',b='',c='data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU1NzcyLCAyMDE0LzAxLzEzLTE5OjQ0OjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QkIxRUU2MTRFNDdBMTFFODhCRjJGOEMwNEVBRUMyNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QkIxRUU2MTVFNDdBMTFFODhCRjJGOEMwNEVBRUMyNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCQjFFRTYxMkU0N0ExMUU4OEJGMkY4QzA0RUFFQzI0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCQjFFRTYxM0U0N0ExMUU4OEJGMkY4QzA0RUFFQzI0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==',d,f){let g=new Notification(a,{body:b,icon:c});'string'==typeof d&&(d=$('<audio src="'+d+'" autoplay="autoplay"></audio>').appendTo('body'),d[0].onended=function(){d.remove()});'string'==typeof f&&(-1==f.indexOf('://')&&(f='//'+f),g.onclick=function(h){h.preventDefault(),window.open(f,'_blank')})}}; |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
example of use: notifyAPI.noty('Lorem ipsum dolor sit amet', 'Consectetur adipiscing elit. nunc pellentesque elit non quam vehicula, et semper purus condimentum. nulla gravida magna quis augue rhoncus, at varius nibh euismod.', 'link with .gif|.jpg|.jpeg|.png', 'link with .mp3|.wav|.ogg', 'only http*');