Végső csapás az IE6-ra

Még tavaly májusban szerettem volna blokkolni ezt az Internet Explorer 6-nak nevezett agyrémet, mely mindenki kedvenc Billjének a boszorkánykonyhájából sarjadzott, és mind a mai napig képtelenség kiirtani a Netről.

Többféle lehetőséget is kipróbáltam, de egyik sem oldotta meg olyan elegánsan a problémát, ahogyan én azt elképzeltem magamban.

A JavaScriptes megoldásokat, illetve a Headerben elhelyezett IF függvényes hekkeléseket, no meg a sufnituningos antiIE oldalakra irányító vackokat kilőve alig maradt valami lehetőség. Annyira pedig nem vagyok php- és wp-guru, hogy pikk-pakk összelőjek egy jófajta IE6-killert. Aztán mégiscsak sikerült, méghozzá nagyon egyszerűen….

Én úgy képzeltem el, hogy a legszebb megoldás talán az lehetne, ha a functions.php-ben elhelyezett szkript behív egy teljesen önálló oldalt, mely nem problémás az IE6-nak, majd ezen az oldalon linkeket kapunk, ahonnan korrekt böngészőket tölthet le, aki akar. Aki pedig nem, az egyszerűen  nem láthatja a korrekt böngészőknek szánt oldalakat.

Megpróbáltam egy szkriptet átfaragni, ami az alapértelmezett sablonra irányítja a “kedves látogatót” ha öreg a böngészője, de ez sem az igazi, hiszen újabb problémákat generálhat a default sablonban való, de egyedi sablonra szánt megjelenítés… aztán előbújt belőlem a kisördög, és addig nem nyugodtam, míg végre meg nem találtam az igazit!

Az igazat megvallva a szkript nem a saját kútfőmből ered, és talán éppen ezért szinte tökéletes. Különálló pluginként is megállja a helyét, de szerintem a functions.php-be integrálva kényelmesebb megoldás annak, aki amúgy is önmaga építi a WordPress-felületét.

Működése roppant egyszerű: mikor valahol megnyitják a WP blogunkat, a szkript lekérdezi, hogy milyen típusú, és milyen verziójú a böngésző. Ha esetleg IE6-os, vagy alacsonyabb verziószámú, akkor egy különálló oldalra irányít. Ez utóbbit mi magunk is elkészíthetjük, csupán tudatnunk kell rajta a látogatóval, hogy az IE6 már a múlté, és töltsön le jobb böngészőt, vagy rögtön valamelyik korszerű böngésző oldalára irányíthatjuk a látogatót (pl: <meta http-equiv="refresh" content="0;URL=bongeszolinkje.html" />), remélve azt, hogy érti, mit jelent a továbbirányítás (szívem szerint egyébként még az IE7-et is a szarzsákok közé sorolom, de nem akartam ennyire szigorú lenni, így a beállítás a 6-os, vagy kisebb verziójú IE esetén kapcsol át az ie6.php-re).

Érdemes megemlíteni két nevet, mindkettő sajátjának tudja be a szkriptet: Mike Sands és Alen Cvitkovic. Ez utóbbi a hivatalos WordPress bővítmények közt Stop IE6 néven hirdeti (és valószínűleg Ő az eredeti író).

Én azon kívül, hogy a functions.php-be integráltam, és egyedi tájékoztató oldalt és stíluslapot készítettem, semmi egyebet nem változtattam rajta.

Lássuk tehát a részleteket: először is nyisd meg a functions.php fájlt (ha nincs ilyen, akkor készíts egyet <?php vel az elején és ?>-vel a végén, majd másold bele az alábbiakat:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function detectIE6(){
if (ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'], $log_version)) {
if($log_version[1] <= '6')
return true;
}
return false;
}
 
function redirect_if_needed(){
if (detectIE6()){
include('ie6.php');
exit;
}
}
 
add_action('template_redirect', 'redirect_if_needed');

Aztán készíts egy ie6.php-t, mely az az oldal kell legyen, ami felhívja a figyelmet a böngészőproblémákra és javaslatot is ad a megoldásra.

Ha minden elkészült (functions.php + ie6.php), akkor töltsd fel a WordPress sablonod mappájába… és készen is vagyunk!

Aki lusta, annak pedig itt tölthető le a csomag:

UPDATE (2010.02.13.):

Végül is időközben bővítmény lett a dologból. Tehát ha ezt a fájlt kicsomagolás után a plugin mappába másolod, majd a vezérlőpulton bekapcsolod az “Internet Explorer blokkoló” plugint, akkor talán egyszerűbb a dolgod, mint szerkesztgetni a functions.php-t.

ie_killer.zip

letöltve: 10x

Kapcsolódó cikkeim:

0 válasz to “Végső csapás az IE6-ra”


  1. Még nem írtak hozzászólást. Legyél Te az első!

Írj üzenetet





Népszerű cikkek


Legutóbbi hozzászólások

  • zsolta: Szia. nekem 1 olyan problémám van,...
  • Muszti: Szia! Érdeklődnék, hogy ICHR10-es...
  • Gabi: Köszi a gyors választ, akkor nem agyalok...
  • Gabi: Szia MaXX! Nem tudom, hogy olvasod...
  • Gergő: Helló! olyan kérdésm lenne hogy , van...
  • gobiker: Köszönöm, nagy hasznát vettem a...
  • Szabolcs: Nagyon köszönöm a hasznos infó-t....
  • perno: Szia! hasznos dolgokat írtál. nekem is...
  • jacko: szewasztok,en is elszantam magam hogy...
  • eFeS: Nagyon köszi a fordítást…

    Hamarosan

  • Építsünk magazin stílusú témát – 2. rész
  • Rendszerváltás: EX58-Extreme
  • Luxeon LED-es mennyezetlámpa
  • Avatar - Dolby 3D szemüveggel
  • Hypertonia
  • Időzítés
  • Házimozis betűtípus
  • Csak oda, ahová kell: javascript és css
  • Dvicos nyalánkságok: saját grafika, Tvixie


Archívum

Kategóriák