• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

[JS] Probleme bei Browserweiterleitung

denkerland

Anfänger/in
Registriert
16.12.2002
Beiträge
73
Reaktionspunkte
0
Hallo zusammen,
wenn ich folgenden Code schreibe:
<script LANGUAGE="JavaScript">
<!--
if(navigator.appName == "Microsoft Internet Explorer")
document.write('<?php $browser="IE"; ?>');

else if(navigator.appName == "Netcape")
document.write('<?php $browser="NS"; ?>');
// -->
</script>
, dann gehts nicht. Die PHP-Variable $browser ist dann immer "NS", egal ob ich mit IE oder Firefox schaue.
Wahrscheinlich gehts nicht so wie ichs will, richtig?
Bitte sagt mir wie ich's richtig machen muss.

Danke :-X
 
denkerland am 16.06.2005 17:25 schrieb:
Hallo zusammen,
wenn ich folgenden Code schreibe:
<script LANGUAGE="JavaScript">
<!--
if(navigator.appName == "Microsoft Internet Explorer")
document.write('<?php $browser="IE"; ?>');

else if(navigator.appName == "Netcape")
document.write('<?php $browser="NS"; ?>');
// -->
</script>
, dann gehts nicht. Die PHP-Variable $browser ist dann immer "NS", egal ob ich mit IE oder Firefox schaue.
Wahrscheinlich gehts nicht so wie ichs will, richtig?
Bitte sagt mir wie ich's richtig machen muss.

Danke :-X
Keine Ahnung, aber versuchs doch mal mit http://de.selfhtml.org
 
Am besten wär noch mehr Code. Also hast du die Variable $browser vorher bereits definiert ?

Der Sinn deines Scripts :
Per JS herausfinden welcher Browser vorhanden ist und besagten dann in die variable $browser speichern ?

Ne andere Möglichkeit wäre diese hier

if (navigator.userAgent.indexOf("Netscape") > 0) {}
 
denkerland am 16.06.2005 17:25 schrieb:
Hallo zusammen,
wenn ich folgenden Code schreibe:
<script LANGUAGE="JavaScript">
<!--
if(navigator.appName == "Microsoft Internet Explorer")
document.write('<?php $browser="IE"; ?>');

else if(navigator.appName == "Netcape")
document.write('<?php $browser="NS"; ?>');
// -->
</script>
, dann gehts nicht. Die PHP-Variable $browser ist dann immer "NS", egal ob ich mit IE oder Firefox schaue.
Wahrscheinlich gehts nicht so wie ichs will, richtig?
Bitte sagt mir wie ich's richtig machen muss.

Danke :-X
Also, wenn ich das erstmal wie folgt runterkürze:
<script LANGUAGE="JavaScript">
<!--
if(navigator.appName == "Microsoft Internet Explorer")
document.write("IE");

else{
document.write("NS");
}
// -->
</script>
dann gehts bei mir
 
der php-code wird immer ausgefuehrt, egal, ob da irgendwo noch js bedingungen sind.
und hoert doch bitte mit diesem html-js-php rumgefrickel auf...
 
denkerland am 16.06.2005 17:25 schrieb:
Hallo zusammen,
wenn ich folgenden Code schreibe:
<script LANGUAGE="JavaScript">
<!--
if(navigator.appName == "Microsoft Internet Explorer")
document.write('<?php $browser="IE"; ?>');

else if(navigator.appName == "Netcape")
document.write('<?php $browser="NS"; ?>');
// -->
</script>
, dann gehts nicht. Die PHP-Variable $browser ist dann immer "NS", egal ob ich mit IE oder Firefox schaue.
Wahrscheinlich gehts nicht so wie ichs will, richtig?
Bitte sagt mir wie ich's richtig machen muss.

Danke :-X
zuerst wird php geparst, dann das fertige html an den browser ausgeliefert und dann wird das JS im browser ausgeführt, wovon du rein gar nix mehr mitbekommst. geht so nich. schau dir lieber mal die server variablen an..
 
lol jetzt verstehe ich erst wie das Script funzen sollte :-D

Also ist es faktisch unmöglich ne Variable aus dem JS an PHP zu übergeben da es vorher geparst wird.
Du kannst aber die PHP- Variable $browser mit nem browser detect versehen und das dann an JS weitergeben, falls du damit was anfangen kannst.

<?php

$browser = $_SERVER['HTTP_USER_AGENT'];

// z.B. Firefox/1.0.4.

spliti("/",$browser)

echo"<script LANGUAGE=\"JavaScript\">";
echo"<!--";
echo"var browser;";
echo"browser = \".$browser[0].\";";
echo"// -->";
echo"</script>";

?>

Müsste funzen :-)
 
soulsaver am 16.06.2005 19:47 schrieb:
lol jetzt verstehe ich erst wie das Script funzen sollte :-D

Also ist es faktisch unmöglich ne Variable aus dem JS an PHP zu übergeben da es vorher geparst wird.
Du kannst aber die PHP- Variable $browser mit nem browser detect versehen und das dann an JS weitergeben, falls du damit was anfangen kannst.

<?php

$browser = $_SERVER['HTTP_USER_AGENT'];

// z.B. Firefox/1.0.4.

spliti("/",$browser)

echo"<script LANGUAGE=\"JavaScript\">";
echo"<!--";
echo"var browser;";
echo"browser = \".$browser[0].\";";
echo"// -->";
echo"</script>";

?>

Müsste funzen :-)

ok, danke :) ich habs nun so gelöst:

<?php

$browser = $_SERVER['HTTP_USER_AGENT'];

$ie = strrpos($browser, "MSIE");
$ff = strrpos($browser, "Firefox");

if ($ie) $browser = "Internet Explorer";
else if ($ff) $browser = "Firefox";

echo "Du hast den ". $browser ." Browser!;
?>

Ist vielleicht komisch, aber es geht :-D
 
Zurück