Как сделать, чтобы расширение Chrome с InboxSDK работало как на Gmail, так и на других сайтах? - PullRequest
2 голосов
/ 18 июня 2019

Я разрабатываю расширение Google Chrome с InboxSDK, который работает на Gmail. Теперь, когда часть Gmail готова, я хочу перейти на другие веб-сайты с набором функций, которые не требуют ни InboxSDK, ни функций Gmail. Моя идея состояла в том, чтобы попытаться загрузить InboxSDK (он проверяет поддерживаемые источники) и, если он не загружается, пропустить функции Gmail.

При этом я столкнулся с проблемой, когда при попытке загрузить InboxSDK с помощью вызова InboxSDK.load(2, "app_id") выводится сообщение в консоли: InboxSDK: Unsupported origin https://stackoverflow.com и прекращается выполнение любого кода, превышающего эту точку.

Мне не нужен InboxSDK для источников, отличных от Gmail.

Можно ли запустить такое же расширение с InboxSDK в Gmail и без InboxSDK на других веб-сайтах?

Я предоставляю простой код TypeScript для иллюстрации этого случая:

import * as InboxSDK from "inboxsdk"

(async function main() {
    console.log("This will print on all websites")
    const sdk = await InboxSDK.load(2, "APP_ID")
    console.log("This will not be printed if the InboxSDK load fails")
})()

Возможное решение, которое я вижу, - реализовать ту же проверку происхождения, что и InboxSDK. Я ищу лучшее решение, которое не требует дублирования этой функциональности InboxSDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...