Was sind die Nachteile beim Festlegen von Page.ClientTarget="uplevel" für alle Seiten?

9

Wir haben kürzlich Probleme bekommen, weil seit der Veröffentlichung von Firefox 4 ScrollPosition-Daten niemals an Firefox-Benutzer gesendet werden. Dies wird dadurch verursacht, dass die Browsercaps-Datei nur Funktionen für Firefox 3.x spezifiziert. Eine Lösung für dieses Problem besteht darin, die browsercaps-Datei auf jedem Server zu aktualisieren und jederzeit eine neue Version von Firefox (oder Chrome oder was auch immer) zu veröffentlichen. Nun, bevor wir überhaupt eine Chance hatten, dieses Problem anzugehen, sind wir bereits bei Firefox 6 und es scheint nur ein Rennen zu sein, das wir nicht weiter betreiben wollen.

Es stellt sich heraus, dass das Festlegen von Page.ClientTarget="uplevel" in der Masterseite (also für alles bedingungslos) unser spezifisches Firefox ScrollPosition Problem behebt. Was sind die negativen Konsequenzen für diese Lösung? Haben Benutzer von Android-Browsern eine schlechtere Erfahrung? Werden sie einfach unnötig größere Seiten herunterladen? Gibt es einen Grund, warum wir das nicht tun sollten?

Die Dokumentation für Page.ClientTarget ist ziemlich gruselig:

  

uplevel, das Browserfunktionen angibt, die dem Internet entsprechen   Explorer 6.0.

.. und scheint falsch oder zumindest irreführend. Es scheint, als wäre es zu einer Zeit geschrieben worden, als IE6 der leistungsfähigste Browser war. Bedeutet "uplevel" wirklich "gehe davon aus, dass der Browser zu allem fähig ist" oder "behandle es so, als würdest du IE6 behandeln"?

    
Greg Smalter 17.08.2011, 18:45
quelle

3 Antworten

3

Wenn Sie WebForms sagen wollen, dass sie effektiv "ablegen" soll, funktioniert die Einstellung von Uplevel, obwohl Sie dies in PageInit tun möchten, das früher als die Masterseite ist. An diesem Punkt gehen WebForms davon aus, dass jeder ein neuerer Browser ist als Sie selbst.

    
Scott Hanselman 19.08.2011, 08:34
quelle
1

Für serverseitige Kompatibilität, die die tatsächlichen Beschränkungen des Browsers nicht testen kann, verwende ich lieber eine Blacklist als eine Whitelist: Wenn ein Browser nicht nicht unterstützt, dann unterstütze ich Feature gehe davon aus, dass es das unterstützt.

Sie können auch alle Versionen eines Browsers, z. keine Version von IE unterstützt Feature X). Dazu müssen Sie die Blacklist aktualisieren, sobald IE Feature X unterstützt.

Browser-Upgrades sollten dieses Schema nicht brechen.

    
orip 17.08.2011 19:13
quelle
0

Dies ist keine Antwort auf die Frage "Was sind die Nachteile", sondern:

Sie können reguläre Ausdrücke in der Browserversionserkennung innerhalb der browsercaps-Dateien verwenden.

Beispielsweise hat Microsoft am 13. November 2011 ein Update für ASP.NET 4.0 veröffentlicht, mit dem IE10 zur übergeordneten Liste hinzugefügt wurde (und ein Fehler in der Datei ie.browser in \Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers behoben wurde). Sie hatten einen regulären Ausdruck, der nur auf eine einstellige Hauptversion geprüft wurde, aber nach dem Patch wird jede IE-Version & gt; = 6 als höher angesehen.

Vor der Änderung:

%Vor%

Nach der Änderung:

%Vor%

Ich nehme an, dass Sie nicht mehr auf dieses Problem stoßen, denn mindestens ab dem 26. Oktober 2011 verwendet die firefox-Direktive auch eine Regex, um Uplevel-Versionen zu erkennen & gt; = 3: (aus der firefox.browser -Datei) )

%Vor%

Aber wenn Sie immer noch probs haben, verwenden Sie einfach eine zukunftsorientierte Regex (eine, die nicht wie in früheren Patches einen "Single-Digit-Major-Version" -Bug hat) in der firefox.browser -Datei

    
nothingisnecessary 11.01.2013 20:32
quelle

Tags und Links