Safari Web расширение не получает сообщения с веб-страницы на фонеIOS

Программируем под IOS
Ответить
Anonymous
 Safari Web расширение не получает сообщения с веб-страницы на фоне

Сообщение Anonymous »

Я работаю над расширением ASAFRI-WEB, сначала создал расширение Chrome, а затем использовал команду XCRUN SAFARI-WEB-EXTENSE-CONVERTER/PATH/TO/EXTENSION , чтобы преобразовать его в Safari. Содержимое файла HTML, он использует

Код: Выделить всё

 browser.runtime.sendMessage(extensionId
..) для отправки

Код: Выделить всё

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>
На фоне.browser.runtime.onMessageExternal.addListener((request, sender, sendResponse) => {
if (request.type === "PING") {
sendResponse({ status: "OK", version: "1.0" });
}
});

< /code>
А вот как выглядит мой манифест < /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"]
}
]
}

Моя проблема заключается в том, что я никогда не получаю сообщение на фоне. Сафари Связь между расширением и веб -страницей не работает, как я могу это исправить

Подробнее здесь: https://stackoverflow.com/questions/795 ... background
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»