48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
/**
|
|
* Quality Label Printing Service - Content Script
|
|
* Simplified injection for extension ID detection
|
|
*/
|
|
|
|
console.log('Quality Label Printing - Content Script Loaded');
|
|
|
|
// Inject extension ID into DOM for web page detection
|
|
function injectExtensionId() {
|
|
// Remove any existing extension ID element
|
|
const existingElement = document.getElementById('chrome-extension-id');
|
|
if (existingElement) {
|
|
existingElement.remove();
|
|
}
|
|
|
|
// Create new element with extension ID
|
|
const extensionIdElement = document.createElement('div');
|
|
extensionIdElement.id = 'chrome-extension-id';
|
|
extensionIdElement.setAttribute('data-extension-id', chrome.runtime.id);
|
|
extensionIdElement.style.display = 'none';
|
|
|
|
// Add to document head or body
|
|
(document.head || document.body || document.documentElement).appendChild(extensionIdElement);
|
|
|
|
console.log('Extension ID injected:', chrome.runtime.id);
|
|
}
|
|
|
|
// Inject extension ID when DOM is ready
|
|
if (document.readyState === 'loading') {
|
|
document.addEventListener('DOMContentLoaded', injectExtensionId);
|
|
} else {
|
|
injectExtensionId();
|
|
}
|
|
|
|
// Also inject when page changes (for SPAs)
|
|
if (window.navigation) {
|
|
navigation.addEventListener('navigate', injectExtensionId);
|
|
} else {
|
|
// Fallback for older browsers
|
|
let lastUrl = location.href;
|
|
new MutationObserver(() => {
|
|
const url = location.href;
|
|
if (url !== lastUrl) {
|
|
lastUrl = url;
|
|
setTimeout(injectExtensionId, 100);
|
|
}
|
|
}).observe(document, { subtree: true, childList: true });
|
|
} |