Я создаю расширение для браузера, которое будет совместимо с Edge, Chrome и Firefox, используя Typescript.
Я нашел статью, в которой обсуждается совместимое расширение браузера, в котором есть образец этого кода:
window.browser = (function () {
return window.msBrowser ||
window.browser ||
window.chrome;
})();
Поэтому я планировал создать класс Browser и инициализировать свойство в зависимости от того, в каком браузере находится расширение. Что-то вроде приведенных ниже кодов:
export class Browser {
constructor() {}
public _browser: object = null;
get browser() : object {
if (typeof window.chrome !== 'undefined') {
this._browser = window.chrome;
}
if (typeof window.browser !== 'undefined') {
this._browser = window.browser;
}
return this._browser;
}
}
Мне удалось добавить @types/chrome для определения chrome, чтобы я не выдавал исключение, однако я не смог найти никаких типов для определения объекта browser
и msBrowser
. Или любое предложение, которое я могу использовать, чтобы сделать это, не получая ошибки в Typescript.
Итак, мой вопрос: есть ли какие-либо определения типов, которые я могу использовать для поддержки объекта browser
или msBrowser
?