L'agente utente per i browser Edge o Spartan è già noto? Qualcuno può dirmi come rilevare questo browser e differirlo da IE prima della sua uscita?Rilevamento di Edge o spartan di Microsoft con javascript
risposta
Una semplice ricerca su google mi ha trovato la risposta che state cercando: http://forum.piwik.org/read.php?3,125732
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0
Pertanto si dovrebbe abbinare: "Edge\/\d+"
stringa
quindi, dovrei corrispondere ' "Edge/12.0" '? – Vandervals
Dovresti associare "Bordo /" seguito da un valore numerico. Il numero di versione cambierà nel tempo. – kieranpotts
Solo per imparare un po 'su queste cose ... perché questo agente utente utilizza anche CHrome e Safari? Potrebbe non generare errori in futuro durante il tentativo di rilevare questi due browser? – Vandervals
Microsoft Edge UA:
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, come Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136
I detail why in this blog post.
Neowin ha recentemente riferito che il nuovo browser di Microsoft per Windows 10, Spartan, utilizza la stringa Chrome UA, “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, come Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0 ".Questo è fatto apposta.
Si noterà inoltre che l'intera stringa termina con "Edge/12.0", che non è Chrome.
Devo sottolineare che non si tratta di una distinzione da ciò che Microsoft ha fatto con IE 11, che su Windows 8 recita: Mozilla/5.0 (Windows NT 6.3, Trident/7.0; rv: 11.0) come Gecko, come spiegato in questo post.
Che cos'è lo sniffing di User Agent?
Spesso gli sviluppatori Web eseguono lo sniffing per il rilevamento del browser. Mozilla lo spiega bene sul proprio blog:
L'utilizzo di pagine Web o servizi diversi per browser diversi è in genere una cattiva idea. Il Web è pensato per essere accessibile a tutti, indipendentemente dal browser o dal dispositivo che stanno utilizzando. Ci sono modi per sviluppare il tuo sito Web per migliorare progressivamente se stesso in base alla disponibilità delle funzionalità piuttosto che al targeting di browser specifici.
Here’s a great article explaining the history of the User Agent.
Spesso, gli sviluppatori pigri sarà solo annusare la stringa UA e contenuti disabilitare sul loro sito web basato su browser che credono lo spettatore sta usando. Internet Explorer 8 è un punto comune di frustrazione per gli sviluppatori, quindi controllano frequentemente se un utente utilizza QUALSIASI versione di IE e disabilita le funzionalità.
The Edge team details this even deeper on their blog.
tutti gli agenti stringhe utente contengono ulteriori informazioni su altri browser che il browser attuale che si sta utilizzando - non solo gettoni, ma anche numeri di versione ‘significativo’.
Internet Explorer 11 di stringa UA:
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv: 11.0) come Gecko
Microsoft Edge UA stringa:
Mozilla/5.0 (Windows NT 10,0) AppleWebKit/537,36 (KHTML, come Gecko) Chrome/Safari 42.0.2311.135/537,36 Bordo/12,10,136 mila
La proprietà userAgent è stata giustamente descritta come "un pacco di bugie in continua crescita" di Patrick H. Lauke nelle discussioni del W3C. ("O meglio, un atto di bilanciamento di aggiungere abbastanza parole chiave legacy che non avranno immediatamente il vecchio codice di sniffing UA che cade, pur cercando di trasmettere un po 'di informazioni effettivamente utili e accurate.")
Si consiglia che gli sviluppatori web evitano di sniffare UA il più possibile; le moderne funzionalità della piattaforma Web sono quasi tutte rilevabili in modo semplice. Nell'ultimo anno, abbiamo visto alcuni siti di sniffing UA che sono stati aggiornati per rilevare Microsoft Edge ... solo per fornirgli un percorso di codice IE11 legacy. Questo non è l'approccio migliore, in quanto Microsoft Edge corrisponde ai comportamenti di "WebKit", non ai comportamenti di IE11 (eventuali differenze di Edge-WebKit sono bug che siamo interessati a risolvere).
In base alla nostra esperienza, Microsoft Edge funziona meglio sui percorsi di codice "WebKit" in questi siti. Inoltre, con la disponibilità di Internet su una più ampia varietà di dispositivi, si supponga che i browser sconosciuti siano buoni: si prega di non limitare il sito a lavorare solo su un piccolo insieme di browser correnti conosciuti. Se lo fai, il tuo sito quasi certamente si romperà in futuro.
Conclusione
Presentando la stringa Chrome UA, siamo in grado di aggirare gli hack questi sviluppatori stanno usando, per presentare la migliore esperienza per gli utenti.
Cercare "Edge" nella stringa UA.
Mentre nelle menti degli addetti al marketing il mondo è perfetto, in realtà i browser hanno bug che rimangono non fissati per anni e sarà sempre così.
Nel mio caso il problema che mi ha richiesto di testare Edge contro Chrome è il bug dell'altezza dropdown di Chrome che Spartan/Edge rende correttamente. Microsoft non ha nulla da sistemare qui e Google ha ignorato questo bug per oltre un anno (era correttamente visualizzato nelle vecchie versioni di Chrome).
Secondo this answer: opzione basata
// Internet Explorer 6-11
var isIE = /*@[email protected]*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
Un'altra caratteristica di rilevamento.
function isBrowserEdge() {
return typeof CSS !== 'undefined' && CSS.supports("(-ms-ime-align:auto)");
}
- 1. Rimuovi la decorazione di input "x" in Microsoft Edge (precedentemente Project Spartan)
- 2. Perché Microsoft Edge (in precedenza Project Spartan) richiede di aprire questo sito Web in Internet Explorer?
- 3. Scalabilità immagine Microsoft Edge
- 4. Il nuovo browser Microsoft Edge (precedentemente Project Spartan) supporta il protocollo SSE (Server Side Events)?
- 5. RTCPeerConnection funziona in Microsoft Edge?
- 6. Ricerca di browser installati. Microsoft Edge
- 7. Rilevamento di Sobel Edge in Android
- 8. Microsoft Edge browser javascript runtime "permesso negato" errore
- 9. Rilevamento di un annullare nella navigazione con JavaScript o jQuery
- 10. WebSocket di non lavorare su localhost Microsoft Edge
- 11. ng-view non funziona su Microsoft Edge
- 12. Microsoft Edge supporta l'automazione COM (oggetto InternetExplorer)?
- 13. Passaggio da Internet Explorer a Microsoft Edge
- 14. Microsoft Edge e Windows 10 supportano HTA?
- 15. Microsoft Edge non può raggiungere la VM con IP privato
- 16. Rilevamento URL con JavaScript
- 17. rilevamento di un reindirizzamento con javascript - come?
- 18. Come si disabilita il DatePicker in Microsoft Edge?
- 19. Come segnalare problemi nel browser Edge a Microsoft?
- 20. Document.evaluate per documenti senza namespaceURI si blocca Microsoft Edge
- 21. Generazione di numeri casuali su Spartan-3E
- 22. Esiste un Selenium WebDriver disponibile per il browser Microsoft Edge?
- 23. Come identificare il browser Microsoft Edge tramite CSS?
- 24. Come simulare _moz_resizing in Chrome o Edge?
- 25. Rilevamento del supporto di caratteri Unicode con JavaScript
- 26. Rilevamento di hardware lento/browser lenti con JavaScript
- 27. Posso scaricare e utilizzare Microsoft Edge in Windows 8.1?
- 28. Do iOS Safari e/o Microsoft Edge supportano le notifiche push?
- 29. Decompressione di archivi ZIP di grandi dimensioni su Mac (come l'ultima Microsoft Edge VM)
- 30. isInIframe rilevamento in Javascript
_ [rilevamento del browser è inappropriato] (https://css-tricks.com/browser-detection-is-bad/) ._ – Cerbrus
Chi se ne frega? È ancora una domanda che voglio sapere la risposta a :) Ricerca ... – kieranpotts
@Cerbrus, lo so, ma in questo caso non posso evitare di farlo. Inoltre, ci sono migliaia di domande riguardanti il rilevamento, ad esempio 9. 10 o 11, e non so perché questo non sia legittimo. – Vandervals