Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Browser ohne Java identifizieren?

J-G-W / 7 Antworten / Baumansicht Nickles

Wie kann ich einen Browser ohne Javascript erkennen, da manche, bzw. einer (Zaphod) dies ja nicht hat.


Ich will bei "iframe" die Spreu vom Weizen trennen, siehe 9x4.de (Link unten), dort z.B. Frame.../...Girls. Natürlich kann ich auch alle Bilderseiten umgestallten, aber....


Geht das evtl mit einem CGI-Script und wenn ja, wie (noch keine Ahnung von CGI)?
Da der Server (1und1) keine CGIs zuläßt, aber ein anderer Serverplatz, den ich habe, muß ich die ganze HTML umleiten, oder gibt es da einen Trick?


Oder geht das Ganze noch andes viel besser?

bei Antwort benachrichtigen
xafford J-G-W „Browser ohne Java identifizieren?“
Optionen

ja, kannst du...über php kannst du auf mehrere arten mehr über den user agent erfahren..
zum einen über $USER_AGENT udn weitere variablen die zur verfügung gestellt werden (ale angaben, die bei get vom browser mit übermittelt werden) oder über get_browser()
am besten mal in ein PHP-tutorial schauen. geht eigentlich mit allen serverseitigen sprachen, da die information ohnehin verfügbar ist.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Zwincki xafford „ja, kannst du...über php kannst du auf mehrere arten mehr über den user agent...“
Optionen

Die meisten Scripte erkennen IE, Mozilla oder NS. Opera wird als unbekannt erkannt bzw. nicht erkannt. Woran liegt das?

Gibt es vielleicht irgendwo ein perl oder php script wo diverse Browser erkannt und dann auf entsprechende Verzeichnisse umgeleitet werden? Also Trennung Mozilla, NS, Lynx, IE 6 bzw. älter als IE6. Würde mich nur so interessieren.

Ansonsten halte ich die Umleitung auf speziel gemachte Seiten für die diversen Browser für nicht mehr zeitgemäß. CSS läßt das auch weitestgehend unnötig werden.

Grundsätzlich reichen IE und textorientierte. Wer schreibt denn heute noch extra ausgeklügelte features für Mozilla? Das sind doch Exoten! Auf einer Seite die ich mit dem IE war bin ich erst durch einen Zeitschriftenartikel darauf aufmerksam gemacht worden das sich mit Mozilla (nur dort) die Kopf und Fußleisten bzw. die Navigation bewegen lassen bzw. auch eingefroren werden können. Na ja....sieht toll aus, aber was für ein Aufwand für die paar Mozilla user.

bei Antwort benachrichtigen
xafford Zwincki „Um das Thema etwas zu erweitern“
Optionen

hm..erst mal muß ich widersprechen, mozilla ist kein exot, aber es ist so gut wie unnötig extrawürste für mozilla zu stricken, da er mener erfahrung nach html, javascript und dom am konformsten interpretiert, seine verbeitung nimmt auch zu.
was opera angeht, so liegt die falsche identifikation fast immer an der einstellung von opera. es gibt die varable USER_AGENT die über den header mit übermittelt wird. dieser header ist eigentlich für browser spezifisch. opera hat nun ein verhängnisvolles feature, man kann ändern als was er sich ausgibt und im standardfall gibt er sich als IE aus, das ist verhängnisvoll, da er die gängige IE syntax für JS nicht oder nicht korrekt interpretiert. mann kann das ganze aber über javascript etwas umschiffen, nciht jedoch über serverseitiges scripting.
gängige browserweichen nutzen zur identifizierung meist die variable user agent, aber aus o.g. gründen ist diese unzuverlässig.
es ist besser einen browser anhand der fähigkeiten zu identifizieren in der form:
if(document.layers){browser='netscape';}
if(document.all){browser='ie bis 5.1';}
if(document.getElementsByTagName("head")){browser='IE ab 5.5, netscape ab 6.0, mozilla, konquerer';}
else{browser='inkompatibler mist';}
somit hat man die wirklich wichtigen infos..nicht wie behauptet der browser zu heissen, sondern was ann er wirklich. serverseitig klappt das nun allerdings nicht, am sichersten arbeitet man dann mit kombinationen aus user_agent, javascript und DOM...
css ist leider nur teils/teils eine lösung, da netscape, opera und ie css teilweise komplett unterschiedlich interpretieren, gerade was positionierungen angeht. 100% sind wirklich so gut wie nicht zu erreichen an interoperabilität mit allen browsern in einer version einer seite, es sei denn man lässt sei über php o.ä. auf dem server browserspezifisch montieren.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
J-G-W xafford „Um das Thema etwas zu erweitern“
Optionen

bei meiner Testseite 9x4.de wird im Bereich Java-Navigation ja jeder Browser separat erkannt und hat auch eine eigene Darstellung, die sich von anderen unterscheiden kann. Hier wurde der Weg über das Java-Script gewählt.
Wehn es interessiert kann sich die Seite herunterladen (ZIP, um 100kb) und studieren oder umbauen oder....

Aber gibt sich nicht auch teilweise der IE als Mozilla aus? Zumindest behauptet das selfhtml!

bei Antwort benachrichtigen
xafford J-G-W „Um das Thema etwas zu erweitern“
Optionen

jein...ie und netscape waren mal mozilla in ihrem tiefsten inneren.
mozilla war früher die rendering engine, die netscape und microsoft in lizenz eingesetzt haben wür ihre browser, hat aber nur bedingt mit mozilla dem browser zu tun, außer daß mozilla der browser aus einem ähnlichen stall kommt wie mozilla die engine. IE gibt sich aber immer (so lange man nicht an ihm rumwerkelt über die registry) als mozilla blablabla compatible MSIE oder IE aus, der suchstring um IE zu identifizieren ist IE und damit erwischt man ihn auch zu 99,99999%.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Zwincki J-G-W „Um das Thema etwas zu erweitern“
Optionen

nur so als Hinweis:
Mozilla hat Schwierigkeiten die Navigation "auszufahren". Datum Uhrzeit wird nicht eingeblendet und irgendwie ist mein Mozilla Opera (aber das mag andere Gründe haben). Vielleicht auch eine Beschriftung anbringen damit die Navi gefunden wird. Dieser gimmick mit dem Mauszeiger paßt nicht zur Seite. Weglassen - außer es trifft voll Deinen Geschmack!

Zwincki

bei Antwort benachrichtigen
Heinz_Malcher J-G-W „Browser ohne Java identifizieren?“
Optionen

Beispiel:

<?php
function list_array ($array) {
while (list ($key, $value) = each ($array)) {
$str .= "$key: $value
\n";
}
return $str;
}
echo "$HTTP_USER_AGENT


\n";
$browser = get_browser();
echo list_array ((array) $browser);
?>

?
bei Antwort benachrichtigen