socket.on('send message', function(data){
var get_options = {
method: 'GET',
uri: 'https://ss1.example.com/getServer:'+data.userID+''
};
request(get_options)
.then(function(response){
// Здесь парсим полученный от головного сервера JSON и вытаскиваем из него сервер другого клиента, а далее отправляем на другой сервер API запрос, показывая, что нам нужно отобразить сообщение для пользователя userID
})
.catch(function(err){
// Обрабатываем ошибку, если не удалось достучаться до головного
});
.modal {
position: fixed;
left: 50%;
top: 50%;
margin: 0px;
}
.modal > .title {
overflow: hidden;
}
.modal > .title > .close {
background: url("images/close.png") no-repeat center center;
width: 48px;
height: 19px !important;
float: right;
margin-top: -8px;
margin-right: -3px;
cursor: pointer;
opacity: 0.9;
}
SELECT board_id FROM dynprops_vals WHERE dynprop_id = '13' AND dvals >= '100' AND dvals <= '300';
'use strict';
self.addEventListener('install', function(event) {
event.waitUntil(self.skipWaiting());
});
self.addEventListener('push', function (event) {
event.waitUntil(
fetch('/latest.json').then(function (response) {
if (response.status !== 200) {
console.log('Latest.json request error: ' + response.status);
throw new Error();
}
return response.json().then(function (data) {
if (data.error || !data.notification) {
console.error('Latest.json Format Error.', data.error);
throw new Error();
}
var title = data.notification.title;
var body = data.notification.body;
var icon = 'https://mysite.ru/my_beautiful_push_icon.png';
return self.registration.showNotification(title, {
body: body,
icon: icon,
data: {
url: data.notification.url
}
});
}).catch(function (err) {
console.error('Retrieve data Error', err);
});
})
);
});
self.addEventListener('notificationclick', function (event) {
event.notification.close();
var url = event.notification.data.url;
event.waitUntil(clients.openWindow(url));
});
'use strict';
function SendPushMe() {
if ('serviceWorker' in navigator) {
console.log('Service Worker is supported');
navigator.serviceWorker.register('/sw.js').then(function() {
return navigator.serviceWorker.ready;
}).then(function(reg) {
console.log('Service Worker is ready :^)', reg);
reg.pushManager.subscribe({userVisibleOnly: true}).then(function(sub) {
console.log('endpoint:', sub.endpoint);
$.get( "https://mysite.ru/createpushadresat?adresat=" + sub.endpoint, function( data ) {});
});
}).catch(function(error) {
console.log('Service Worker error :^(', error);
});
}
}