Здравствуйте, ставлю скрипт под рассылку PUSH. Сейчас вот какая странность происходит. На чистой странице без основного кода тестировал все работает как надо. А вот когда вставил на сайт подписка в модальном окошке то есть пользователь жмет подписаться открывается модальное окошко и там кнопка подписаться.
Вот скрипт
var config = {
apiKey: "ДАННЫЕ",
authDomain: "ДАННЫЕ",
databaseURL: "ДАННЫЕ",
storageBucket: "ДАННЫЕ,
messagingSenderId: "ДАННЫЕ"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
var user_token = messaging.getToken();
function Subscribe(){
messaging.requestPermission()
.then(function() {
console.log('Notification permission granted.');
messaging.getToken()
.then(function(currentToken) {
if (currentToken) {
console.log(currentToken);
SendTokenToServer(currentToken); // ЭТО ФУНКЦИЯ КОТОРАЯ ПРИНИМАЕТ ТОКЕН И ДАЕТ ЗАПРОС НА СКРИПТ PHP ДЛЯ СОХРАНЕНИЯ В БД.
} else {
console.log('No Instance ID token available. Request permission to generate one.');
}
})
.catch(function(err) {
console.log('An error occurred while retrieving token. ', err);
showToken('Error retrieving Instance ID token. ', err);
});
// ...
})
.catch(function(err) {
console.log('Unable to get permission to notify.', err);
});
}
messaging.onMessage(function(payload) {
console.log('Message received. ', payload);
navigator.serviceWorker.register('firebase-messaging-sw.js');
Notification.requestPermission(function(result) {
if (result === 'granted') {
navigator.serviceWorker.ready.then(function(registration) {
return registration.showNotification(payload.notification.title, payload.notification);
}).catch(function(error) {
console.log('ServiceWorker registration failed', error);
});
}
});
});
SendTokenToServer(currentToken); // ЭТО ФУНКЦИЯ КОТОРАЯ ПРИНИМАЕТ ТОКЕН И ДАЕТ ЗАПРОС НА СКРИПТ PHP ДЛЯ СОХРАНЕНИЯ В БД. Так вот он просто не запускается до нее. Пробовал сразу перед вызовом функции добавить console.log('test');
но и это не выдало следовательно до этого момента скрипт и не доходит видимо в условие IF не попадает. Причем если этот скрипт открыть на чистом html файлике и запустить то работает все прекрасно .... В чем может быть дело?