Simplify script injection to single script with data attribute configuration

- Replace dual script injection (external + inline) with single script approach
- Pass site configuration via data attributes instead of inline JavaScript
- Update library auto-initialization to read config from script data attributes
- Reduce HTML bloat by eliminating 30+ lines of inline initialization code
- Maintain future-proof CDN compatibility and duplication prevention

Enhanced files now contain only one clean script tag with configuration.
This commit is contained in:
2025-09-16 20:10:53 +02:00
parent a3fc3089d2
commit fe00a13780
3 changed files with 27 additions and 39 deletions

View File

@@ -79,7 +79,18 @@ window.Insertr = {
// Auto-initialize in development mode with proper DOM ready handling
function autoInitialize() {
if (document.querySelector('.insertr')) {
window.Insertr.init();
// Check for configuration from script data attributes
const insertrScript = document.querySelector('script[data-insertr-injected]');
const config = {};
if (insertrScript) {
config.siteId = insertrScript.getAttribute('data-site-id') || 'demo';
config.apiEndpoint = insertrScript.getAttribute('data-api-endpoint') || '/api/content';
config.mockAuth = insertrScript.getAttribute('data-mock-auth') === 'true';
config.debug = insertrScript.getAttribute('data-debug') === 'true';
}
window.Insertr.init(config);
}
}