Fix: Add safe localStorage wrapper and QZ Tray toggle feature

- Created storage-utils.js with safeStorage wrapper to prevent tracking prevention errors
- Updated script.js to use safeStorage for theme persistence
- Added conditional QZ Tray connection based on 'Enable Scan to Boxes' toggle
- Fixed 404 error by removing non-existent /api/backup/path endpoint call
- Enhanced fg_scan.html to disable QZ Tray and socket connections when toggle is off
- Prevents console errors when browser tracking prevention blocks localStorage access
This commit is contained in:
Quality App System
2026-01-15 19:26:42 +02:00
parent 13d93d8a14
commit 95383e36f2
4 changed files with 75 additions and 23 deletions

View File

@@ -0,0 +1,40 @@
/**
* Safe localStorage wrapper to handle tracking prevention errors
* This prevents console errors when browser tracking prevention blocks storage access
*/
const safeStorage = {
getItem: function(key) {
try {
return localStorage.getItem(key);
} catch (e) {
console.warn('localStorage access blocked:', e.message);
return null;
}
},
setItem: function(key, value) {
try {
localStorage.setItem(key, value);
} catch (e) {
console.warn('localStorage access blocked:', e.message);
}
},
removeItem: function(key) {
try {
localStorage.removeItem(key);
} catch (e) {
console.warn('localStorage access blocked:', e.message);
}
},
clear: function() {
try {
localStorage.clear();
} catch (e) {
console.warn('localStorage access blocked:', e.message);
}
}
};
// Export for use in other scripts
if (typeof window !== 'undefined') {
window.safeStorage = safeStorage;
}