Untitled
unknown
plain_text
2 years ago
2.0 kB
7
Indexable
// popup.js
document.addEventListener("DOMContentLoaded", function () {
const logoImage = document.getElementById("logo");
const toggleSwitch = document.getElementById("toggleButton");
// Set the src for the logo
logoImage.src = chrome.runtime.getURL("images/logo_128.png");
// Retrieve extension state from storage
chrome.storage.local.get(["enabled"], function (result) {
const isEnabled = result.enabled || false;
toggleSwitch.checked = isEnabled; // Set the state of the switch
// Initialize Firebase if the extension is enabled
if (isEnabled) {
console.log("Extension is enabled.");
initializeFirebase();
} else {
console.log("Extension is disabled.");
}
});
// Toggle switch change event
toggleSwitch.addEventListener("change", function () {
const isEnabled = toggleSwitch.checked;
chrome.storage.local.set({ enabled: isEnabled }, () => {
if (isEnabled) {
console.log("Extension is enabled.");
initializeFirebase();
} else {
console.log("Extension is disabled.");
}
});
});
});
function initializeFirebase() {
// Ensure the iframe exists and is correctly loaded before posting a message
const firebaseSandboxIframe = document.getElementById("firebase-sandbox");
if (firebaseSandboxIframe && firebaseSandboxIframe.contentWindow) {
firebaseSandboxIframe.contentWindow.postMessage({ type: 'init-firebase' }, '*');
} else {
console.error("Cannot initialize Firebase: Sandbox iframe not found or not loaded.");
}
}
// Event listener for messages from the sandboxed iframe
window.addEventListener('message', function (event) {
// Ensure the message is the expected type
if (event.data && event.data.type === 'firebase-initialized') {
console.log("Firebase has been initialized in the sandbox:", event.data.detail);
// Perform actions now that Firebase is initialized
}
});
Editor is loading...
Leave a Comment