2009-08-04 12 views
2

Das hört sich nach einer dummen Frage an (für mich), aber ich habe gesucht und ich kann nirgends etwas finden, das darüber zu sprechen scheint. Wo ist der Medientyp für einen Agentensatz - ist er vom Browser (oder was auch immer) fest codiert oder ist dieser konfigurierbar (speziell IE)?Einstellen des Medientyps eines Browsers

Ich frage, weil ich eine Web-App schreibe, die meist von normalen PCs verwendet werden, aber es wird einige Netbooks es zu verwenden. Allerdings wird auf diesen Netbooks XP laufen, und das scheint als normaler Windows-Browser erkannt zu werden, aber für bestimmte Seiten möchte ich, dass sie unterschiedliche CSS verwenden (hauptsächlich für größere Schriftarten), also habe ich gehofft, sie als Handheld zu konfigurieren Geräte und dann traf das auf meinem CSS für die entsprechenden Seiten (die Benutzer, die sie haben, wird auch von normalen PCs anmelden, so dass die Erkennung von Typ für Benutzer keine Option ist).

Oder gibt es eine bessere/korrektere Vorgehensweise?

+0

Für jedermann verwenden, sieht aus wie dies nicht getan werden kann. Ich wollte nicht auf die Bildschirmgröße schauen, da dies bedeutete, dass ich Bedingungen schreiben musste, um das richtige CSS-Blatt zu laden, während der Medientyp dies automatisch erledigt hätte. Ich habe am Ende einen Eintrag in den Benutzer-Agent –

Antwort

0

Ich arbeite in ASP.NET, so dass das Zoomen von CSS keine Option ist - die meisten Bildschirme werden in Ordnung sein, aber für einen Bildschirm muss das Layout auf den Netbooks anders sein In diesem Fall müssten die Benutzer für eine Seite heranzoomen und dann wieder für andere, und das ist natürlich keine gute Lösung (plus das eigentliche CSS wird anders sein, als nur die Zoomstufe - nur bestimmte Elemente 'Schriftarten werden zum Beispiel vergrößert. Das Problem ist, dass die Clients als "normale" Windows-Clients betrachtet werden - Mozilla/4.0 (kompatibel; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3) (falls jemand ist, der Trident Teil fragt sich nur IE8 sagen, dass es IE8 ist, wenn es als IE7 getarnt ist), damit ich müssen sich ändern wie sich die Kunden präsentieren. Die einfachste (theoretisch) Art, dies zu tun, wäre, sie als einen anderen Medientyp zu konfigurieren, so dass sie automatisch das richtige CSS laden, ohne dass eine serverseitige Aktion notwendig ist, aber es ist nur zu wissen, wie dies zu tun ist.

Noch einmal, in der Theorie würde ich sehr überrascht sein, wenn dies nicht möglich ist, oder es würden verschiedene Medientypen einen Albtraum richtig testen, es sei denn, Sie hatten tatsächliche Geräte zur Hand, aber online scheint es so ist der Fall (sicherlich jemand hätte eine Option in den Browser irgendwo, wo Sie die Medientypen einrichten könnte, die es unterstützt ????).

0

Im Allgemeinen dient die Seiten basierend auf User-Agent wird durch die Web-Anwendung Web-Server oder nur selten von einigen Javascript behandelt. Wenn Sie die Sprache/das Framework auflisten, die Sie verwenden, kann mehr Hilfe kommen.

den User-Agent-Bildschirm auf dem Clients zu ändern, ist eine Regel nicht gute Idee. Entwerfen Sie Ihre CSS, um skalierbar zu sein und Zoomen zu ermöglichen.

1

Der einfachste Weg wäre, die Bildschirmauflösung des Benutzers mit Javascript zu erkennen: screen.width und screen.height. Wenn es zu klein ist, ergreifen Sie entsprechende Maßnahmen, z. B. die Verwendung Ihres mobilen Stylesheets. Es gibt keine Möglichkeit, das genaue Gerät zu erkennen, das eine Person benutzt.

0

HTTP-Header des "User-Agent" ist wie ein Browser 'erzählt' der Web-Server, welche Art von Browser ist. Es kann Betriebssystem und Version enthalten. Unter den üblichen Bedingungen sind diese Werte die richtige Angabe. Wir können diese Information verwenden, um auf der Serverseite geeignete HTML/CSS herauszufiltern, die zu dem Browser (d. H. Mobilgerät, IE6 usw.) passt.

Einige Gerüste, z.B. ASP.NET hat eine Form von Browser-Fähigkeit, um die HTML-Ausgabe anzupassen (ich bin jedoch nicht überzeugt).

Ich kann nicht einen besseren Weg, um etwas anderes zu tun. Für die Erkennung der Bildschirmgröße sollte JavaScript-Erkennung gut funktionieren, aber das gibt Ihnen nicht viel in Bezug auf Layout und Schriftgröße, es sei denn, Sie haben eine Form der Implementierung, die die Ausgabe in AJAX-Art rendern kann. Könnte nicht sehr komplex sein.

nicht viel von einer Antwort hier, hoffen nur, dass es mehr Ideen zu erleichtern.

Verwandte Themen