2016-03-16 24 views
8

Czy można uzyskać protokół używany przez przeglądarkę do uzyskiwania aktywnej strony?
Coś jak:Wykryj protokół połączenia (HTTP/2, spdy) z javascript

performance.navigation.protocol // e.g. "HTTP/2" or "SPDY/3.1" or "HTTP/1.1" 

wiem, że jest to możliwe, aby wykryć po stronie serwera, a następnie protokół przekazania informacji, ale szukam rozwiązania JS.

(a similar question zawiera niedziałający link i żadnej odpowiedzi)

+0

można złożyć wniosek głowy do 'lokalizacji .href'with ajax? edytuj: nevermind, nie widzę rekwizytu odpowiedzi, który by tak to wskazywał ... – dandavis

+0

Po co ci to potrzebne? – Bergi

+0

'' 'performance.getEntries() [0] .nextHopProtocol''' działa w przeglądarce Chrome – everconfusedGuy

Odpowiedz

6

Jest on standardised jako performance.timing.nextHopProtocol, ale chrom ma non-standard implementation już pod window.chrome.loadTimes().connectionInfo:

if (performance && performance.timing.nextHopProtocol) { 
    console.log('Protocol:' + performance.timing.nextHopProtocol); 
} else if (window.chrome && window.chrome.loadTimes) { 
    console.log('Protocol:' + window.chrome.loadTimes().connectionInfo); 
} else { 
    console.log("Browser does not expose connection protocol"); 
}