是否有可互操作的浏览器扩展对象的@types?
is there any @types for interoperable browser extension object?
我正在创建一个与 Edge、Chrome 和 [=26= 兼容的浏览器扩展]Firefox 使用 Typescript。
我找到了一篇讨论可互操作的浏览器扩展的文章,其中包含以下代码示例:
window.browser = (function () {
return window.msBrowser ||
window.browser ||
window.chrome;
})();
所以我计划创建一个浏览器 class 并根据扩展所在的浏览器初始化一个 属性。类似于以下代码:
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;
}
}
我能够为 chrome 定义添加 @types/chrome 这样我就不会抛出异常,但是,我找不到 browser
和 [=13 的任何类型=] 对象定义。或者我可以用来执行此操作而不会在 Typescript 中出现错误的任何建议。
所以我的问题是有任何类型定义可以用来支持 browser
或 msBrowser
对象吗?
WebExtensions seem like the best choice for cross-browser extension development. The most popular type file I can find for the WebExtensions API seems to be https://github.com/kelseasy/web-ext-types。希望对您有所帮助。
我正在创建一个与 Edge、Chrome 和 [=26= 兼容的浏览器扩展]Firefox 使用 Typescript。
我找到了一篇讨论可互操作的浏览器扩展的文章,其中包含以下代码示例:
window.browser = (function () {
return window.msBrowser ||
window.browser ||
window.chrome;
})();
所以我计划创建一个浏览器 class 并根据扩展所在的浏览器初始化一个 属性。类似于以下代码:
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;
}
}
我能够为 chrome 定义添加 @types/chrome 这样我就不会抛出异常,但是,我找不到 browser
和 [=13 的任何类型=] 对象定义。或者我可以用来执行此操作而不会在 Typescript 中出现错误的任何建议。
所以我的问题是有任何类型定义可以用来支持 browser
或 msBrowser
对象吗?
WebExtensions seem like the best choice for cross-browser extension development. The most popular type file I can find for the WebExtensions API seems to be https://github.com/kelseasy/web-ext-types。希望对您有所帮助。