Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
antiradionic
/
offline
:
script.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
// script.js document.getElementById('dataForm').addEventListener('submit', function(event) { event.preventDefault(); const formData = { name: document.getElementById('name').value, email: document.getElementById('email').value, }; if (navigator.onLine) { sendDataToServer(formData); } else { saveDataOffline(formData); alert('You are offline. Data saved locally and will be sent when you are online.'); } // Clear input fields document.getElementById('name').value = ''; document.getElementById('email').value = ''; }); function sendDataToServer(data) { fetch('https://ccipk.com/offline/submit.php', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(result => { console.log('Success:', result); alert('Data submitted successfully.'); localStorage.removeItem('offlineData'); }) .catch(error => { console.error('Error:', error); saveDataOffline(data); alert('Error submitting data. Data saved locally and will be sent when you are online.'); }); } function saveDataOffline(data) { let offlineData = JSON.parse(localStorage.getItem('offlineData')) || []; offlineData.push(data); localStorage.setItem('offlineData', JSON.stringify(offlineData)); } function syncOfflineData() { const offlineData = JSON.parse(localStorage.getItem('offlineData')) || []; if (offlineData.length === 0) { return; } function sendNext() { if (offlineData.length === 0) { alert('All offline data has been sent.'); localStorage.removeItem('offlineData'); return; } const data = offlineData.shift(); fetch('https://ccipk.com/offline/submit.php', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(result => { console.log('Success:', result); sendNext(); }) .catch(error => { console.error('Error:', error); offlineData.unshift(data); // Re-add the data to the front of the queue alert('Error syncing offline data. Will retry when online.'); }); } sendNext(); } window.addEventListener('online', syncOfflineData);