2017-01-02 6 views
0

リソースタイミングAPIには、150個(デフォルト)のリソースに達したときに起動するonresourcetimingbufferfullのようなイベントがあります。 https://www.w3.org/TR/resource-timing-1/#extensions-performance-interfaceパフォーマンスインターフェイスからのonresourcetimingbufferfullイベントがありません

lib.d.tsファイルhttps://github.com/Microsoft/TypeScript/blob/master/lib/lib.d.tsのPerformanceインターフェイスには、onresourcetimingbufferfullイベントが定義されていません。これを達成する方法はありますか?

答えて

1

最も確実です!あなたは、単に自分のコードでPerformanceインターフェースを拡張することができます:私はthe resourcetimingbufferfull event carried any special payloadがそう、それは普通の古いEventとして、それを入力するのが一番簡単だと見つけることができませんでした

// this does not overwrite `Performance`, it just augments it 
interface Performance { 
    onresourcetimingbufferfull: (e: Event) => any; 
    // and/or perhaps something like 
    addEventListener(type: "resourcetimingbufferfull", handler: (e: Event) => any): void; 
    // in versions of TS before 2.0, you'll need to add this line also: 
    addEventListener(type: string, handler: (e: Event) => any): void; 
} 

function bufferFull(e: Event) { 
    console.log("WARNING: Resource Timing Buffer is FULL!"); 
    performance.setResourceTimingBufferSize(200); 
} 

performance.onresourcetimingbufferfull = bufferFull; 
performance.addEventListener("resourcetimingbufferfull", bufferFull); 

+0

特殊な過負荷シグネチャを特殊なシグネチャに割り当てることができません。 – skjindal93

+0

@ skjindal93これは古いTypeScriptバグです.TS 2.0以降にアップグレードすると修正されます。また、更新できない場合に備えて、以前のバージョンのTSの修正を含めるように私の答えを更新しました – JKillian

関連する問題