Я разрабатываю расширение 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.