überprüfen Sie, ob browser, chrome oder edge
Meine aktuelle website läuft nur im Chrome-browser, um dies zu tun habe ich überprüft in der folgenden Weise
if (Request.Browser.Browser == "Chrome")
{
//Allow
}
Aber für Edge als auch es ist er als "Chrome"
nur.
Wie kann ich den Zugriff auf nur den Chrome-browser?
- Wie über die Verwendung von feature-detection-anstatt der user-agent-sniffing? BTW, "Diese website funktioniert nur in X-browser" geht nie gut bei den Anwendern.
- Seine in der beta-version ab jetzt, und wir arbeiten an es zu machen zugänglich für alle Browser. Aber zur Zeit wollen wir es beschränken von Zugang zu anderen Browsern
- Überprüfen Sie Useragent
- Die bessere Frage ist "was sind Sie über das funktioniert nicht in Microsoft Rand?" Wir sollten das problem lösen, nicht schnüffeln und brechen Sie die Website für die Nutzer.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie überprüfen, user-agent und sehen, ob es Microsoft Edge ist oder nicht, weil Microsoft Rand enthält
Edge/version
im user-agent-string.sample von Edge-user-agent-strings
Mozilla/5.0 (X11; CrOS x86_64 6783.1.0) AppleWebKit/537.36 (KHTML, like Gecko) Edge/12.0
Mehr sehen hier und hier
Am Ende schlage ich vor, verwenden Sie die feature-Erkennung auf browser anstatt zu handeln, basierend auf user-agent.
Request.Browser.Browser
?... WarumMozilla
undAppleWebKit
erscheinen im user-agent string?Bin ich neugierig-was ist der Anwendungsfall? Egal, hier gehen Sie:
Microsoft Edge-UA-string:
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136
Ich erläutert, warum in diesem blog-post.
Neowin kürzlich berichtet, dass der neue Microsoft-browser für Windows 10, Spartan, verwendet die Chrome UA-string, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0". , Dass ist Absicht getan.
Werden Sie auch feststellen, dass die gesamte Zeichenfolge endet mit "Edge/12.0", die Chrome nicht.
Ich darauf hinweisen, dass dies nicht ein redical Abreise von dem, was Microsoft hat mit dem IE 11 unter Windows 8 lautet: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko, wie in diesem post.
Was ist die User-Agent-sniffing?
Oft, web-Entwickler, UA-sniffing für die browser-Erkennung. Mozilla erklärt es auch auf Ihrem blog:
Dienen verschiedene Web-Seiten oder services zu verschiedenen Browsern ist in der Regel eine schlechte Idee. Das Web soll für jeden zugänglich sein, unabhängig davon, welchen browser oder Gerät Sie verwenden. Es sind Möglichkeiten zu entwickeln, Ihre Website schrittweise zu verbessern sich selbst, basierend auf der Verfügbarkeit von Funktionen, anstatt durch die Ausrichtung auf bestimmte Browser.
Hier ist ein toller Artikel zur Erläuterung der Geschichte des User-Agent.
Oft, faulen Entwickler einfach nur schnüffeln für den UA-string und deaktivieren, Inhalte auf Ihrer Webseite basiert auf, welchen browser Sie glauben, dass der Zuschauer mit. Internet Explorer 8 ist ein gemeinsamer Punkt der frustration für Entwickler, so dass Sie Häufig überprüfen, ob ein Benutzer mit einer BELIEBIGEN version von IE und deaktivieren von Funktionen.
Das Edge-team-details diese noch tiefer auf Ihren blog.
Alle user agents strings enthalten, die weitere Informationen zu anderen Browsern als dem eigentlichen browser Sie verwenden – nicht nur Jetons, sondern auch "sinnvolle" version zahlen.
Internet Explorer 11 ist der UA-string:
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko
Microsoft Edge-UA-string:
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136
Die userAgent-Eigenschaft wurde treffend beschrieben als "eine stetig wachsende pack of lies" von Patrick H. Lauke im W3C-Diskussionen. ("oder besser gesagt, ein Spagat, das hinzufügen genug legacy-keywords, die nicht sofort die alten UA-sniffing-code Umfallen, während immer noch versuchen zu vermitteln, ein wenig wirklich nützliche und genaue Angaben.")
Empfehlen wir, dass web-Entwickler zu vermeiden, UA-sniffing so viel wie möglich; eine moderne web-Plattform, die Funktionen sind fast alle nachweisbar, die in einfache Möglichkeiten. Im vergangenen Jahr haben wir gesehen, dass einige UA-sniffing-Seiten, die aktualisiert wurden, um zu erkennen, Microsoft Edge... nur, um es mit einem legacy-IE11 code-Pfad. Ist dies nicht der beste Ansatz, wie Microsoft Edge-matches 'WebKit' Verhalten, nicht IE11 Verhaltensweisen (alle Edge-WebKit-Unterschiede sind Fehler, die wir sind daran interessiert, Befestigung).
Unsere Erfahrung In der Microsoft Edge läuft am besten auf die 'WebKit' code-Pfade in diesen Seiten. Auch mit der internet immer verfügbar sein, auf einer breiteren Palette von Geräten, gehen Sie bitte davon unbekannt Browser sind gut – bitte nicht beschränken Sie Ihre Website zu arbeiten nur auf einen kleinen Satz von aktuellen Browsern. Wenn Sie dies tun, Ihre Website wird mit ziemlicher Sicherheit brechen in die Zukunft.
Abschluss
Durch die Präsentation der Chrome UA-string, mit dem wir arbeiten können um die hacks diese Entwickler nutzen, um die beste Erfahrung für die Nutzer.
Arbeitete für mich.
Ich benutze die browser-Erkennung, wenn die Protokollierung von JavaScript-Fehlern ist es hilfreich zu wissen, in welchem browser der Fehler auftrat.
Ursprünglich aus diese Frage habe ich einen Eintrag in den Ordner App_Browsers:
Aber dies war inkonsistent und manchmal noch gemeldet Chrome, so dass ich jetzt zusätzlich die Verwendung dieser wrapper-Klasse: