1self.addEventListener('install', event => { 2 console.log("Service Worker Installato"); 3 self.skipWaiting(); 4}); 5 6self.addEventListener('push', function (event) { 7 if (!(self.Notification && self.Notification.permission === 'granted')) { 8 return; 9 } 10 const sendNotification = body => { 11 12 if (body['channel_number']) { 13 let fetchRes = fetch('https://report-snappush.toobee.it/api/report/impression?push_id=' + body['push_id'] + '&site_id=' + body['site_id'] + '&channel_number=' + body['channel_number']); 14 fetchRes.then(res => 15 res.json()).then(d => { 16 console.log(d) 17 }); 18 } 19 20 const title = body['title']; 21 return self.registration.showNotification(title, body); 22 23 }; 24 25 if (event.data) { 26 27 const message = event.data.json(); 28 event.waitUntil(sendNotification(message)); 29 } 30 31}); 32 33self.addEventListener('notificationclick', function(event) { 34 35 if (event.notification.data.channel_number) { 36 37 var push_id = event.notification.data.push_id; 38 var site_id = event.notification.data.site_id; 39 var channel_number = event.notification.data.channel_number; 40 41 let fetchRes = fetch('https://report-snappush.toobee.it/api/report/click?push_id=' + push_id + '&site_id=' + site_id + '&channel_number=' + channel_number); 42 fetchRes.then(res => 43 res.json()).then(d => { 44 console.log(d) 45 }); 46 47 } 48 49 event.notification.close(); 50 var d = event.notification.data.url; 51 event.waitUntil( 52 clients.openWindow(d) 53 ); 54});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.