Ich arbeite an der Asafri-Web-Erweiterung, ich habe zuerst eine Chromerweiterung erstellt und dann den Befehl xcrun safari-Web-Extensionskonverter/Pfad/zu/erweitert in Safari umwandeln. HTML -Datei wird verwendet
Extension Installation Checker
This page tests if your extension is installed by sending a message to it.
Check for Extension
document.getElementById('checkButton').addEventListener('click', checkExtension);
async function checkExtension() {
const extensionId = "I USED MY EXTENSION ID HERE ";
const resultDiv = document.getElementById('result');
resultDiv.textContent = "Checking...";
resultDiv.className = "";
try {
// Try to send message to extension
const response = await browser.runtime.sendMessage(extensionId, {
type: "PING",
message: "Are you there?"
});
if (response) {
resultDiv.textContent = `✅ Extension is installed! Response: ${JSON.stringify(response)}`;
resultDiv.className = "installed";
} else {
resultDiv.textContent = "⚠️ Extension may be installed but didn't respond";
resultDiv.className = "not-installed";
}
} catch (error) {
resultDiv.textContent = `❌ Extension not detected or error: ${error.message}`;
resultDiv.className = "not-installed";
console.error("Error:", error);
}
}
< /code>
Auf dem Hintergrund.js Ich höre die Nachricht mit < /p>
anbrowser.runtime.onMessageExternal.addListener((request, sender, sendResponse) => {
if (request.type === "PING") {
sendResponse({ status: "OK", version: "1.0" });
}
});
< /code>
Und hier ist, was mein Manifest aussieht < /p>
{
"manifest_version": 3,
"name": "__MSG_extension_name__",
"description": "__MSG_extension_description__",
"version": "1.0",
"default_locale": "en",
"icons": {
"48": "images/icon-48.png",
"96": "images/icon-96.png",
"128": "images/icon-128.png",
"256": "images/icon-256.png",
"512": "images/icon-512.png"
},
"background": {
"service_worker": "background.js"
},
"permissions": [
"tabs"
],
"host_permissions": [
"https://*.ngrok-free.app/*"
],
"externally_connectable": {
"matches": [
"https://8e85-91-201-165-34.ngrok-free.app/*"
]
},
"content_scripts": [
{
"matches": ["https://*.ngrok-free.app/*"],
"js": ["content.js"]
}
]
}
Mein Problem ist, dass ich die Nachricht auf dem Hintergrund nie empfange Die Kommunikation zwischen der Erweiterung und der Webseite funktioniert nicht, wie kann ich dies
Ich arbeite an der Asafri-Web-Erweiterung, ich habe zuerst eine Chromerweiterung erstellt und dann den Befehl xcrun safari-Web-Extensionskonverter/Pfad/zu/erweitert in Safari umwandeln. HTML -Datei wird verwendet[code] browser.runtime.sendMessage(extensionId[/code] ..) zum Senden sendet[code] Extension Installation Checker This page tests if your extension is installed by sending a message to it.
try { // Try to send message to extension const response = await browser.runtime.sendMessage(extensionId, { type: "PING", message: "Are you there?" });
if (response) { resultDiv.textContent = `✅ Extension is installed! Response: ${JSON.stringify(response)}`; resultDiv.className = "installed"; } else { resultDiv.textContent = "⚠️ Extension may be installed but didn't respond"; resultDiv.className = "not-installed"; } } catch (error) { resultDiv.textContent = `❌ Extension not detected or error: ${error.message}`; resultDiv.className = "not-installed"; console.error("Error:", error); } }
< /code> Auf dem Hintergrund.js Ich höre die Nachricht mit < /p> anbrowser.runtime.onMessageExternal.addListener((request, sender, sendResponse) => { if (request.type === "PING") { sendResponse({ status: "OK", version: "1.0" }); } });
< /code> Und hier ist, was mein Manifest aussieht < /p> { "manifest_version": 3, "name": "__MSG_extension_name__", "description": "__MSG_extension_description__", "version": "1.0", "default_locale": "en",
[/code] Mein [url=viewtopic.php?t=20324]Problem[/url] ist, dass ich die Nachricht auf dem Hintergrund nie empfange Die Kommunikation zwischen der Erweiterung und der Webseite funktioniert nicht, wie kann ich dies
Zweifellos wurde dies schon einmal gefragt. Bei meiner Suche wurde jedoch keine Ergebnisse zurückgegeben. Daher muss ich daher fragen. Dies funktioniert offensichtlich in Safari, aber es gibt keine...
Ich versuche, in Python ein Skript in Python zu erstellen, um alle verfügbaren Titel zu kratzen, die beim Klicken auf den schwarz gefärbten Bereich auf der Karte in dieser Website angezeigt werden....
Ich arbeite an einem nächsten. Bestimmte Animationen sind extrem verzögert und langsam auf iPhone -Geräten mit iOS safari/Chrom (getestet auf iPhone 15 Pro Max und iPhone 14)...
Ich arbeite an einem nächsten. Bestimmte Animationen sind extrem verzögert und langsam auf iPhone -Geräten mit iOS safari/Chrom (getestet auf iPhone 15 Pro Max und iPhone 14)...
Ich führe einen WebSocket -Server hinter Nginx aus und habe zwei verschiedene Implementierungen: einen in node.js und eine in Python. Der Server von Node.js WebSocket empfängt alle Nachrichten...