PageSourceSearch

https://beauty.thewom.it/content/plugins/push_notification/js/client.js?ver=1635868654

js thewom.it collected 2026-09-24 08:56:58 UTC 5,313 bytes, 148 lines download raw bytes

1let getTokens = function () {
2    return new Promise((resolve, reject) => {
3        let db;
4        let db_request = indexedDB.open("fcm_token_details_db");
5        db_request.onblocked = function () {
6            console.log("client getTokens blocked");
7        };
8        db_request.onerror = function () {
9            console.log("client getTokens error");
10            reject("fcm_token_details_db connection error");
11        };
12        db_request.onsuccess = function (event) {
13            console.log('client getTokens success');
14
15            try {
16                db = event.target.result;
17
18                let transaction = db.transaction("fcm_token_object_Store", IDBTransaction.READ_ONLY);
19                let objectStore = transaction.objectStore("fcm_token_object_Store");
20                let request = objectStore.getAll();
21                request.onerror = function (event) {
22                    console.log('client fcm_token_object_Store request error');
23                    reject("fcm_token_object_Store error");
24                };
25                request.onsuccess = function (event) {
26                    let result = event.target.result;
27                    resolve(result);
28                };
29            } catch (e) {
30                console.log('client getTokens success catch', e.code, e.message, e.stack);
31
32                if (e.code == 8) resolve([]);
33                reject(e.message);
34            }
35        };
36    });
37};
38
39function deleteTokensDB() {
40    console.log('provo a cancellare il db');
41
42    var req = indexedDB.deleteDatabase('fcm_token_details_db');
43    req.onsuccess = function () {
44        initFirebase();
45        console.log("fcm_token_details_db: cancellazione eseguita");
46    };
47    req.onerror = function () {
48        console.log("fcm_token_details_db: cancellazione fallita");
49    };
50    req.onblocked = function (e) {
51        console.log("fcm_token_details_db: cancellazione bloccata");
52    };
53}
54
55function tryFixFirebase() {
56    getTokens().then(function (tokens) {
57        console.log('tokens', tokens);
58        if (tokens.length == 0) {
59            deleteTokensDB();
60        } else {
61            initFirebase();
62        }
63    }).catch(function (text) {
64        console.log('catch tokens '+text);
65        deleteTokensDB();
66    });
67}
68
69tryFixFirebase();
70
71window.firebase = firebase;
72
73
74
75function initFirebase() {
76    console.log('inizializzo firebase');
77
78    // Initialize Firebase
79    var config = {
80        apiKey: "AIzaSyAuWrJN7NRHIggG8jMPLMbDnRx301hUy-M",
81        authDomain: "av-test-f4c9c.firebaseapp.com",
82        databaseURL: "https://av-test-f4c9c.firebaseio.com",
83        projectId: "av-test-f4c9c",
84        storageBucket: "",
85        messagingSenderId: "43975754916"
86    };
87    firebase.initializeApp(config);
88
89    const messaging = firebase.messaging();
90    if ('serviceWorker' in navigator) {
91        push_notification.supported = true;
92        //https://stackoverflow.com/questions/30336685/404-error-when-trying-to-register-serviceworker
93        var sw_url = push_notification_client_data.service_worker_url;
94        console.log('sw_url', sw_url);
95        //navigator.serviceWorker.register(sw_url, { scope: '/' }).then(function(registration) {
96        navigator.serviceWorker.register(sw_url).then(function(registration) {
97            console.log('Service worker registration succeeded:', registration);
98
99            //window.dispatchEvent(new Event("service_worker_refresh")); //per lanciare l'aggiornamento del sw dalla pagina
100            window.addEventListener('service_worker_refresh', function (e) {
101                registration.update();
102                console.log('Service worker refresh:', registration);
103            }, false);
104
105            firebase.messaging().useServiceWorker(registration);
106            push_notification.get_token(false);
107        }).catch(function(error) {
108                console.log('Service worker registration failed:', error.message);
109        });
110
111        navigator.serviceWorker.addEventListener('message', function(event){
112            console.log("Client message received", event.data);
113            /*
114            if (typeof event.data.action !== 'undefined') {
115                if (event.data.action == 'require_token') {
116                    push_notification.sent_token_to_service_worker();
117                }
118            }
119            */
120        });
121    } else {
122        console.log('Service workers are not supported.');
123        if (typeof push_notification.onUnsupported === 'function') {
124            push_notification.onUnsupported();
125        }
126    }
127
128    messaging.onTokenRefresh(function() {
129        console.log('refresh token');
130        push_notification.get_token(false);
131    });
132
133    messaging.onMessage(function(payload) {
134        console.log("Message received. ", payload);
135    });
136
137    // messaging.setBackgroundMessageHandler(function(payload) {
138    //     console.log('[firebase-messaging-sw.js] Received background message ', payload);
139    //     // Customize notification here
140    //     const notificationTitle = 'Background Message Title';
141    //     const notificationOptions = {
142    //         body: 'Background Message body.',
143    //         icon: '/firebase-logo.png'
144    //     };
145    //
146    //     return self.registration.showNotification(notificationTitle, notificationOptions);
147    // });
148}

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.