Jump to content
GSForum - Segélyvonal

Böngészõ felismertetése


Pozoki

Recommended Posts

Pozoki

Szeretnék egy olyan kódot, mely felismeri a böngészõt!

Létezik ilyen?

Link to comment
Share on other sites

eremit

Szerintem ehhez javascript kell.

 

http://twm.faxunil.hu/muhely/index.php?kat=1&page=8&id=813

 

De akár ez is jó lehet:

<p><script language="JavaScript">
<!--
with (document)
{
write("appCodeName : " + navigator.appCodeName + "<br>");
write("appName : " + navigator.appName + "<br>");
write("appVersion : " + navigator.appVersion + "<br>");
write("userAgent : " + navigator.userAgent + "<br>");
}
// -->
</script> </p>

Link to comment
Share on other sites

Kovács Gyula (MiniDisk)

php-ben ez a kód lehet jó:

 

<?php
if(strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
header("Location: indexie.html");
}
elseif(strstr($_SERVER["HTTP_USER_AGENT"], "Opera")) {
header("Location: indexop.html");
}
elseif(strstr($_SERVER["HTTP_USER_AGENT"], "Gecko")) {
header("Location: indexmoz.html");
}
else {
header("Location: index.html");
}
?>

Link to comment
Share on other sites

Mezofi

@ MiniDisc

Kipróbáltam a kódot amit beírtál.

Ha IE-t nyitok valóban az indexie.html -t nyitja meg.

Ha Operát nyitok újra csak az indexie.html -t nyitja meg.(De ez biztosan nem jó).

Ha Firefox-ot nyitok akkor indexmoz.html -t nyitja meg. (Ez lehet hogy jó így).

Link to comment
Share on other sites

tzoli

Nekem mûködik...

Link to comment
Share on other sites

Mezofi

Ide felraktam:Próba php

Ha operával nyitjuk meg , akkor azonkivül, hogy a megadott lapot nyítja meg ki kell írnia, hogy Ez Opera.

Próbáljátok ki, mert nekem azt írja ki, hogy Explorer.

IE esetén is, és Opera esetén is, Firefoxnál jó.

A kód:

<?php
if(strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
header("Location: indexie.html");
}
elseif(strstr($_SERVER["HTTP_USER_AGENT"], "Opera")) {
header("Location: indexop.html");
}
elseif(strstr($_SERVER["HTTP_USER_AGENT"], "Gecko")) {
header("Location: indexmoz.html");
}
else {
header("Location: indexmas.html");
}
?>

Link to comment
Share on other sites

Kovács Gyula (MiniDisk)

Akkor az Opera Internet Explorernek hazudja magát. Ennyire egyszerû. :) A következõ verzióktól (Opera) már kiszedik belõle az IE azonosítást, tehát az Opera az Opera lesz.

Link to comment
Share on other sites

Mezofi

Köszi, akkor a hiba nem az én készülékemben van!

 

Jó lett volna. mert van egy lapom, ahol a nagy képek közt lapozni lehet, de érdekes mód a lapozás IE-vel nem müködik, de Operával és Firefox-al igen.

Ilyenkor kiirhattam volna, hogy sajnos IE-vel nem müködik a lapozás.

De ha az elöbbi scriptet berakom akkor Operánál is figyelmezteti.

Hát most mindig kinmarad a figyelmeztetés.

:upsz:

Link to comment
Share on other sites

tzoli

Érdekes a dolog. Localban tesztelve hibátlan, míg amit felraktál ott nekem sem mûködik...

Link to comment
Share on other sites

arpsoft

Otthon és a szerveren ugyan az a web kiszolgáló és PHP verziód van?

Link to comment
Share on other sites

tzoli

Valószínûleg nem (és valószínûleg ott van az eb elásva), de hát ezt innen nem fogom tudni megmondani.

Link to comment
Share on other sites

Pozoki

Köszönöm hozzászólásaitokat, és a megoldást ! :D

Jó lesz ez a kód. :)

 

Még valami, nem tudnátok megírni mi a rosz a kódomban?

 

<?php

if(strstr($_SERVER["HTTP_USER_AGENT"], "Gecko"))
{
document.write("Az oldal megtekintéséhez az Internet Explorer szügséges !!!");
}
?>

Link to comment
Share on other sites

Mezofi

Próbáld így:

<?php

if(strstr($_SERVER["HTTP_USER_AGENT"], "Gecko"))
{
print ("Az oldal megtekintéséhez az Internet Explorer szügséges !!!");
}
?>

A javascript és a php script nem ugyanaz!

:)

Link to comment
Share on other sites

Pozoki

Működik.

Köszönöm ! :D

Link to comment
Share on other sites

  • 1 year later...
MacGyver

A kód:

<?php
if(strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
header("Location: indexie.html");
}
elseif(strstr($_SERVER["HTTP_USER_AGENT"], "Opera")) {
header("Location: indexop.html");
}
elseif(strstr($_SERVER["HTTP_USER_AGENT"], "Gecko")) {
header("Location: indexmoz.html");
}
else {
header("Location: indexmas.html");
}
?>

 

Ha ezt egy az egyben berakom az oldalam <head> részébe, ezt az üzenetet kapom:

 

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test2\index.php:7) in c:\program files\easyphp1-8\www\test2\index.php on line 15

 

Kicsit megváltoztattam, hogy CSS-eket tötsön be:

 

<?php
if(strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
<link rel="stylesheet" href="tel/1024ie.css">
}
else {
<link rel="stylesheet" href="tel/1024.css">
}
?>

 

Így ezt írja ki:

Parse error: parse error in c:\program files\easyphp1-8\www\test2\index.php on line 9

 

Mit rontok el?

 

Egyébként hogyan lehetne megvalósítani, hogy felbontás szerint is válasszon CSS-t?

Link to comment
Share on other sites

Mezofi

Van a kódban egy ilyen rész:

header("Location: indexmas.html");

 

Ha ezt a sort megelõzi bármilyen html kimenet, akkor kapod a fenti hibaüzenetet.

Cannot modify header information

Már van küldve információ!

 

Kicsit megváltoztattam, hogy CSS-eket tötsön be:
:lol:

Nem kicsit!

 

Talán így jobb lenne:

<?php
if(strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
echo '<link rel="stylesheet" href="tel/1024ie.css">';
}
else {
echo '<link rel="stylesheet" href="tel/1024.css">';
}
?>

Link to comment
Share on other sites

h.arpad

Több böngészõre (és elkülöníti az IE6-ot az IE7-tõl):

>>klikk<< ;)

Link to comment
Share on other sites

MacGyver

Talán így jobb lenne:

<?php
if(strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
echo '<link rel="stylesheet" href="tel/1024ie.css">';
}
else {
echo '<link rel="stylesheet" href="tel/1024.css">';
}
?>

 

Kösz, tökéletesen mûködik!

Link to comment
Share on other sites

  • 1 month later...
Ducktor

Azt tapasztaltam, hogy a böngészõk nagy részének a USER_AGENT headerjében szerepel az MSIE karakterlánc (talán a buta pluginok miatt, de inkább azért, mert a motorok valahol összefolynak), ha ezt ellenõrizzük utoljára, akkor valószínûbb, hogy sikeres az ellenõrzés.

 

<?php
if(strstr($_SERVER["HTTP_USER_AGENT"], "Opera")) {
header("Location: indexop.html");
}
elseif(strstr($_SERVER["HTTP_USER_AGENT"], "Gecko")) {
header("Location: indexmoz.html");
}
elseif(strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
header("Location: indexie.html");
}
else {
header("Location: indexmas.html");
}
?>

 

Egyébként pedig, soha nem fogjuk tudni rendesen leellenõrizni a böngészõt, lásd Netscape re mindig Firefoxot fog kiírni, mert azt a motort használja, amit a Firefox. Ez akkor nem is baj, ha csak más CSS-t akarunk betölteni, mert ugyanaz a motor, és ugyanúgy jeleníti meg mindkét böngészõ, de ha az ember írt mondjuk pluginokat, akkor az ugye minden egyes böngészõnél más, és akkor nem mindegy, hogy Firefox, vagy Netscape. Ahhoz talán tényleg JavaScript kell, de szerintem ez nem gond, ma már minden rendes böngészõ tud ilyet.

Link to comment
Share on other sites

h.arpad

Olvass vissza, ott belinkeltem valamit. :ötlet: Egyébként, ha nem a Gecko, hanem a Firefox szóra keresel rá, akkor kiértékeléskor a kifejezés nem lesz igaz a Netscape-re. :hááát:

 

Ennek a Firefox 3 esetén lehet majd jelentősége, mert az új Gecko motor biztosan néhány esetben másként jeleníti meg majd az oldalakat. A kevés Netcsape-felhasználó miatt viszont csak elvi lehetőség, a gyakorlatban nincs sok értelme. Több értelme lesz majd megkülönböztetni a két fajta Gecko-t [Firefox 1.5 és 2 vs. Firefox 3 (Gran Paradiso)]. Egy ideig... :hááát:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...