Gå til innhold

Skript som videresender IE, men ikke Firefox?


Anbefalte innlegg

Skrevet

Hei!

 

Jeg trenger et enkelt lite script som vidresender IE til en side, og Firefox + alt annet til en annen side. Er dette enkelt å få til? Er ikke helt stø på PHP selv..

 

Men noe sånt:

if IE
redirect til /side/ie.html
else
redirect til /side/index.html

For eksempel..

 

Mvh

_Ferrari_

Videoannonse
Annonse
Skrevet (endret)

La hovedsiden være tilpasset for nettlesere som overholder standardene (som FireFox) og bruk følgende metoder til å videresende IE-brukerene til ie.html (eller get_a_real_browser_please.html :p):

http://www.devin.com/ieblock_howto.shtml

 

PHP-metoden blir nok som følger (la hovedsiden hete index.php):

PHP
<?php

 if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

 eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

Header("Location: http://www.DITTDOMENE.com/side/ie.html");

exit;

 }

?>

Endret av aadnk
Skrevet (endret)

Flotte saker! Det fungerte utmerket!

Men, jeg vil sende de andre nettleserene til en annen side? Hvordan skal jeg få til det da?

 

EDIT: Løst!

Gjorde det slik:

PHP

<?php

 if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

 eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

Header("Location: www.domene.com/noie.html");

exit;

 }

 echo "

<meta http-equiv="Refresh" content="2; URL= http://www.domen.com/index.html">";

 echo "Du blir videresendt til VSKs side nå!"

?>

Endret av _Ferrari_
Gjest Slettet+142
Skrevet

Bare endre verdien i variabelen her, du:

 

PHP

<?php

 $adresse "http://www.DITTDOMENE.com/side/ie.html";

 if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

 eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

Header("Location: {$adresse}");

exit;

 }

?>

 

Slik du mente?

Gjest Slettet+142
Skrevet (endret)

Legger til løsningen anyway jeg :)

PHP
<?php

 $adresse "http://www.DITTDOMENE.com/side/ie.html";

 $adresse2 "http://www.DITTDOMENE.com/side/index.html";

 if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

 eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

Header("Location: {$adresse}");

exit;

 }else{

header("Location: {$adresse2}");

exit;

 }

?>

Endret av Slettet+142
Skrevet (endret)

Mange takk! Nå ble det helt perfekt!

 

Den vil jo også funke bedre, mtp at man nå faktisk kommer tilbake til forrige nettsted når man trykker tilbake, og ikke tilbake til redirect siden..

Endret av _Ferrari_
Skrevet
Legger til løsningen anyway jeg :)

PHP
<?php

   $adresse = "http://www.DITTDOMENE.com/side/ie.html";

   $adresse2 = "http://www.DITTDOMENE.com/side/index.html";

   if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||

       eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {

    Header("Location: {$adresse}");

    exit;

   }else{

    header("Location: {$adresse2}");

    exit;

   }

?>

9177478[/snapback]

 

 

Hvorfor exit?

 

Med mindre jeg er helt fjern idag er den totalt overfløding...

Gjest Slettet+142
Skrevet

Bare fortsatte og redigerte _Ferrari_ sin kode jeg.

Men det har jo ingenting å si? Utenom 5b ekstra filstørrelse.. :shrug:

Gjest Slettet+142
Skrevet (endret)

Haha, ryddighet, ja. :p

Actually, så var det visst 10 bytes + 2 ekstra linjeskift = 12 bytes.

Huff. Det er alt for mye :tease:

--

Genial quote i signaturen din, btw :p

Endret av Slettet+142
Skrevet

Som jeg sier, klarer man ikke å ha ryddighet rundt pcen, får man ha det på den :p

 

 

Hvordan kan du vite at det er 12bytes ekstra som brukes? Kan jo hende han lagrer i UTF-16 eller UTF-32 :tease:

 

 

Du likte Simpsonsfilmen du og ja :w00t:

Gjest Slettet+142
Skrevet

D'oh. Mellom 12 og 48(?) bytes da :p

 

The Simpsons Movie ftw :)

Skrevet (endret)
Hvorfor exit?

9189669[/snapback]

Her er den fullstendig unødvendig, ja, men den var opprinnelig ikke det. I mitt kodeeksempel ble det kun gjort en omdirigering fra hovedsiden i tilfelle brukeren benyttet Internet Explorer, og i så fall ville det være naturlig å avbryte nedlastingen av hovedsiden. Dersom man bruker en egen dedikert side til slikt, er exit() helt klart unødvendig.

 

Det er for øvrig en ørliten ulempe med å modulere bort denne funksjonaliteten - hva skjer når en FireFox-bruker får URL-adressen til siden din via en IE-bruker (eller omvendt)? Kommer han/henne ikke inn på feil nettside? Burde du ikke heller legge inn videresendingskoden i begge hovedsider (bruk NOT-operatoren eller ELSE i side 2), slikt at denslags unngås?

Endret av aadnk
Skrevet

Det problemet vil ikke oppstå. Siden er lagt opp slik:

 

www.mittdomene.org

- der ligger php-koden som sender IE brukere hit:

- www.mittdomene.org/ie/noie.html

- og alle andre brukere hit:

- www.mittdomene.org/joomla (hvor hovedsiden ligger)

 

På siden som IE-brukerene får opp, ligger en vidre link til hovedsiden. Det vil ikke bli noen problemer av dette?

Skrevet
Det problemet vil ikke oppstå. Siden er lagt opp slik:

 

www.mittdomene.org

  - der ligger php-koden som sender IE brukere hit:

    - www.mittdomene.org/ie/noie.html

  - og alle andre brukere hit:

    - www.mittdomene.org/joomla (hvor hovedsiden ligger)

 

På siden som IE-brukerene får opp, ligger en vidre link til hovedsiden. Det vil ikke bli noen problemer av dette?

9194183[/snapback]

 

Hvis det er meningen at IE brukerene skal få komme inn på hovedsiden selv om det bruker IE så er det ingen problem. Men hvis IE brukere ikke skal kunne komme inn på hovedsiden så må du fikse noe, for nå kan IE brukere bare skrive "www.mittdomene.org/joomla" så er de inne de også. Sperr alle IE brukere ut av nettet sier nå jeg, lagde en siden for en stund tilbake, full CSS, CSSen ble valdiert og fungerte fint i alle nettlesere, helt til jeg prøvde i IE, der hva den helt ødelagt for å si det mildt, måtte kode masse masse extra tull i cssen for at du skulle se noenlunde likt ut i IE og, hater at IE ikke kan lese css skikkeligt!

Skrevet (endret)

Jeg skal absolutt ikke sperre alle IE brukere ute. Meningen var bare å gi en advarsel om at siden ikke ser ut som den skal i IE. Selvfølgelig skal de få tilgang til siden. Siden er for et skolekorps, så gjennomsnittsalderen på de besøkende vil være ganske lav, og det er ikke sikkert at barn kan innstallere noe på familie-PC'en. At de vil bruke URLen www.domene.org/joomla ser jeg på som lite sannsynlig.

 

EDIT: Hva gjør jeg for å bare vidresende IE6? Men la IE7 passere? For IE7 viser siden ganske normalt.

Endret av _Ferrari_
Skrevet

Foreslår isåfall at du bare implementerer en notisboks på toppen av hovedsiden som sier ifra til IE-brukeren om at han kanskje ikke får sett siden skikkelig. !IE-nettlesere får selvfølgelig ikke se denne boksen.

 

Så sparer du brukeren for et ekstra museklikk ;)

Skrevet

Legg til denne snutten under body.

 

<?php
$browser =  strtoupper($_SERVER['HTTP_USER_AGENT']);

if(eregi("MSIE", $browser) == 1)
{?>
<div class="notification">Denne siden vises best i <a href="http://www.firefox.com">Firefox</a></div>  
<?php }

 

og lag en fin klasse for notification så det blir pent.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...