2017-05-26 2 views
1

エッジ,クロムおよびFirefoxで互換性のあるブラウザ拡張を作成しています(Typescriptを使用)。相互運用可能なブラウザ拡張オブジェクトの@typeはありますか?

私はこのコードのサンプルを持っているinteropableブラウザの拡張機能について説明記事を発見した:

window.browser = (function() { 
    return window.msBrowser || 
    window.browser || 
    window.chrome; 
})(); 

だから私は、ブラウザのクラスを作成し、拡張子が座っているブラウザによってはプロパティを初期化することを計画していたが。以下のコードのようなもの:

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; 
    } 
} 

私はしかし、私はbrowsermsBrowserオブジェクト定義のための任意の種類を見つけることができなかった、例外をスローしないようにクロム定義のタイプ/クローム@追加することができました。またはTypescriptでエラーを出さずにこれを行うために使用できる提案。

私はbrowserまたはmsBrowserオブジェクトをサポートするために使用できるタイプ定義がありますか?

答えて

関連する問題