function cleanupArtifacts(timeoutSeconds) {
const timeout = timeoutSeconds * 1000; // Convert seconds to milliseconds
const startTime = Date.now();
const cleanupTasks = [
() => {
// Clear browser cache (example - adjust for your needs)
const cache = document.cookie;
document.cookie = ''; // Clear all cookies (be careful!)
console.log("Cookies cleared.");
},
() => {
// Remove localStorage data (example)
localStorage.clear();
console.log("localStorage cleared.");
},
() => {
// Clear session storage data (example)
sessionStorage.clear();
console.log("sessionStorage cleared.");
},
() => {
// Remove specific elements from the DOM (example)
const elementsToRemove = document.querySelectorAll('.temp-element');
elementsToRemove.forEach(element => element.remove());
console.log("Temporary elements removed.");
},
() => {
//Remove history entries
window.history.go(-1);
console.log("History reset.");
}
];
let completedTasks = 0;
function executeTasks() {
if (Date.now() - startTime >= timeout) {
console.warn("Timeout reached. Stopping cleanup.");
return;
}
if (completedTasks < cleanupTasks.length) {
const task = cleanupTasks[completedTasks];
task()
.then(() => {
completedTasks++;
executeTasks(); // Process next task
})
.catch(error => {
console.error("Error executing cleanup task:", error);
completedTasks++;
executeTasks(); // Continue with remaining tasks even if one fails.
});
} else {
console.log("Cleanup completed.");
}
}
console.log("Starting cleanup process with timeout:", timeout, "seconds.");
executeTasks();
}
// Example usage: Cleanup for 10 seconds
cleanupArtifacts(10);
Add your comment