Hogyan lehet meghatározni, azaz a jquery verziót. A böngésző verziójának felismerése - PHP vagy javascript

Valahogy már írtam egy cikket róla, de ma egy másik problémával találkoztam - hogyan lehet meghatározni egy adott verziót Internet böngésző. Mint mindenki tudja, ez a böngésző folyamatosan meglepetéseket mutat nekünk, és minden verziója gyakorlatilag a saját életét élte. Vannak olyan helyzetek, hogy a kód megfelelően működik a 9. verzióban, de nem működik a 8. verzióban. És ilyen pillanatok találkoznak, amikor az egyes verziókkal dolgozunk. Ezért előbb vagy utóbb a IE adott verziójának meghatározásával kell szembenéznie.

Mint kiderült, hogy meghatározza az IE verzióját, nem nehéz. A verzió meghatározásához használhatja érdekes tulajdonság Internet Explorer - ennek a „böngészőnek” minden verziója egyedi globális objektumokkal rendelkezik. Például az IE9-ben van egy globális document.addEventListener objektum, és ezt az objektumot csak az IE9-nél régebbi verziókban használják (beleértve). Vagy a document.querySelector objektum - csak az IE8 verzióban jelent meg, és újabb verziókban használatos. Minden verzióban vannak ilyen objektumok, amelyekre támaszkodva (létezésük ellenőrzése) könnyedén megteremtheti a feltételeket az Internet Explorer bizonyos verzióihoz.
Milyen tárgyak vannak a különböző verziókban, az alábbiakban ismertettem:
IE10 + - window.atob
IE9 + - document.addEventListener
IE8 + - document.querySelector
IE7 + - window.XMLHttpRequest
IE6 + - document.compatMode
Egy másik globális document.all objektum létezik az IE összes verziójában, de nem használják semmilyen más böngészőben, ennek alapján megkülönböztetheti az IE-t a többi böngészőtől.

Ezen súgó mellett ehhez tartozik az általános elérhetőségi forma, az ujjlenyomat és az internetes ajánlat összes oldalának áttekintése. Keresőmező a könnyű kereséshez kulcsszavak mindig az oldal tetején található, a város emblémája mellett. Itt adhat meg egy vagy több keresési szót. A keresés a fekete nagyító gomb megnyomásával vagy az enter gomb megnyomásával kezdődik.

Egy egyszerű kulcsszókeresés mellett használhatja a speciális keresést is. Itt többek között kizárhatja a szavakat, és meghatározhatja az oldalankénti találatok számát. Használja a következő keresési lehetőségeket még jobb eredmények eléréséhez.

Az Internet Explorer verziójának meghatározása javascript-ben. Kód

Most már minden szükséges összetevőnk van: egy objektum, amely az IE minden verziójában és csak benne van - ez meg fogja különböztetni a többi böngészőtől. És olyan objektumok is vannak, amelyek segítenek megkülönböztetni az IE egyes verzióit. Az alábbiakban bemutatunk néhány példát, amelyek bemutatják, hogyan lehet az IE globális objektumait a gyakorlatban használni.

Csak a 2 vagy több karakterből álló szavak minden kérelemre legfeljebb 200 karakterből állnak. A személyes karaktereket a szavak elválasztására használják. egész karaktersor keresésére használható. A képernyőn található firmware-t használó felhasználók számára az oldalak tetején vannak ugrási jelek, amelyek közvetlenül erre a súgóra vagy tartalomra mutatnak. A modern grafikus böngészők nem látják azokat.

A Tab gomb segítségével ugorjon a linkről linkre. A rejtett tippek a szolgáltatás navigációja felett megjelennek, amint a Tab billentyűt használja. A nyomtatás optimalizált megjelenítési opcióval történik. Csak a tartalmat nyomtatja ki. Ebben a menüben a fejléc és a lábléc, valamint az élrések sötétebbek. Csak a böngésző nyomtatási funkcióját vagy az oldal végén található nyomtatási szimbólumot kell megnyomnia.

If (document.all) (// kód az IE összes verziójához. Más böngészőkben nem kerül végrehajtásra) if (document.all &&! Window.atob) (// IE9 és későbbi kód) és if (document.all &&! Document .addEventListener) (// kód az IE8-hoz és az alábbiakhoz), ha (document.all &&! document.querySelector) (// kód az IE7-hez és későbbi), ha (document.all &&! window.XMLHttpRequest) (// kód az IE6-hoz és alább) if (document.all && window.atob) (// kód IE10-hez és újabbhoz) if (document.all && document.addEventListener) (// kód IE9-hez és magasabb), ha (document.all && document.querySelector) (// IE8 vagy újabb kód), ha (document.all && window.XMLHttpRequest) (// IE7 és újabb kód), ha (document.all && document.querySelector &&! document.addEventListener) (// csak IE8 kód )

Tíz lépésben a nagyítás tízszeres növekedését érinti el a megnyomásával, a nagyítás megfelelő szintjének 10% -kal történő csökkentésével a megnyomásával. Ehhez válassza a „Nézet” menüpontot a böngésző menüsorában, és adja meg a betűméret százalékos értékét. A nagyítási szintet maga is meghatározhatja. . A fent említett böngészők számára további eszközök, például nagyítók vagy firmware, megtalálhatók az iránytű erőforrás-indexében.

Ezek lehetnek például tervezőirodák vagy tanácsadók. Igyekszünk a tartalmat a lehető legjobban eltérő módon biztosítani. Ezt a súgót használjuk a hírterülethez, ahol információs oldalakat jeleníthet meg a navigációban.

Jó, ha webhelye minden, vagy csaknem minden böngészőben működik, ahogy szeretné. Minden megváltozik, új verziók jelennek meg, új lehetőségek jelennek meg, és hülye, ha nem használjuk őket az „öregek” érdekében. Körülbelül 1,5 évvel ezelőtt az IE 6.0 (az egyik webhelyem látogatásának statisztikája alapján) minden harmadik számítógépen az IE-t használta. Nem kellett számolni vele, mert Az IE uralta a számítógépeket - a látogatók több mint 40% -a használta az IE-t. Az IE 6.0 ilyen disztribúcióját (annak ellenére, hogy a 8. változat már megjelent) társítom, elsősorban a régi kalózok széles körű elterjesztésével. windows verziók Oroszországban található XP, amelyek nem kapcsolódnak a frissítési szerverhez.

Ez lehetővé teszi, hogy előre-hátra mozogjon a dokumentumról a kezdőlapra. A gomb megnyomásával térjen vissza a normál nézethez. A 3. verziótól kezdve ez a grafikákat és képeket is lehetővé tette. Ezt a funkciót azonban letilthatja, és csak a szöveg méretét növelheti. A sorompó-iránytű oldalakat a jelenlegi internetes szabványoknak megfelelően tervezték.

Ez a súgó célja, hogy kitalálja, hogyan lehet a lehető legjobban kihasználni ezt a megfizethető weboldalt, és kihasználni a jobb hozzáférhetőség előnyeit. Webhelyünket kifejezetten úgy fejlesztették ki, hogy a lehető legnagyobb mértékben elérhetőek legyenek. több Internet-felhasználók. Röviden: akadálymentesek.

Most aktívan telepítik és még sok más friss verziók XP (szinte mindenütt kalóz), amely már az IE 7. verziójával jár, és a Windows 7, amely az MSIE 8.0 verzióval érkezik. Ezen túlmenően az IE-nek helyet kellett adnia, és az Opera jött az első helyre (a látogatók 29,8% -a), és az IE, több mint 10% -ának elvesztése után, a második helyet szerezte meg, az összes látogató 28,8% -át nyerve. Ugyanakkor az IE 6.0 aránya az IE felhasználók teljes volumenében 34% -ról 15% -ra csökkent. Bezárja az első három - FireFox.

A billentyűzet segítségével több lépésben megváltoztathatja a nagyítási értéket, minden lépés 10% -os ugrásnak felel meg. Ehhez válassza a menüsor "Nézet" elemét, és adja meg a méretezési tényezőt. Tegye webhelyét bárhonnan nagyszerűvé.

Amikor elkezdenénk fejleszteni egy weboldalt, nagyon kíváncsi vagyunk arra, hogy bármelyik böngészőben jól néz ki? és ha lehetséges, jól néz ki hosszú ideje, még a böngészők jövőbeli verzióiban is. A múltban a legtöbb böngésző nagyon népszerű funkciókat valósított meg, amelyek még nem feleltek meg a szabványoknak.

Így minden 20. felhasználó (körülbelül 5%) most használja az IE 6.0-at. Még mindig számolniuk kell velük.

Ennek a hosszú bevezetésnek a célja annak bemutatása, hogy a böngésző egyes verzióinak támogatása komoly kérdés. Időszakos tanulmányokat igényel annak megértése érdekében, hogy mi a jelenlegi helyzet. A régiókban eltérő lesz, talán még a webhely tárgyától is függ. Előbb vagy utóbb felmerül az ötlet, hogy elmondják a felhasználónak, hogy azt mondják, hogy már vannak új böngészők (itt az ideje, hogy elkezdjem használni őket, barátom!).

Természetesen azt gondolhatjuk, hogy nagyon jó, ha egyes böngészők „előre lépnek” az új funkciók támogatására bárki más előtt. De ha ezek a funkciók még nem szabványosak, akkor az általuk elvégzett problémák problémákat okoznak a fejlesztők számára, mivel figyelembe kell vennünk az egyes funkciók mindenféle megvalósítását.

Egyrészt a fejlesztők fenomenálisnak találják ezen új szolgáltatások tesztelését. Az idő előtti elfogadás azonban gyakran azt eredményezi, hogy a webhelyek olyan funkciókat használnak, amelyek súlyosan érintik az oldalakat, amikor a böngésző verziója megváltozik. Ez egy csodálatos élmény a felhasználók és a fejlesztők számára. Ebben az együttműködésben szándékozik. A böngésző észlelésének minden problémája és korlátozása miatt most egy másik alternatívát fogunk látni.

Megadhatja a böngészőprogram verzióját, annak családját, és végrehajthat bizonyos műveleteket, mind a szerver, mind az ügyfél oldalán. Például egy darab javascript-kód, amely lehetővé teszi annak meghatározását a felhasználó 7.0-nál alacsonyabb IE verziót használ

... // a dokumentum betöltése után ellenőrzik a böngésző verzióját // és végrehajtanak bizonyos műveleteket ...

Mielőtt felhasználná azt a funkcionalitást, amelyet, mint tudomásuk szerint egyes böngészőkben eltérően valósítanak meg, futtasson egy kis tesztet, hogy megtudja, egy adott objektum, módszer, tulajdonság vagy viselkedés minden esetben rendelkezésre áll.

A legtöbb esetben ezt meg lehet tenni a kérdéses funkció új példányának létrehozásával. Ha ez a példány nem nulla értéket ad vissza, akkor az azt futtató böngésző megérti ezt a funkciót. Ha nem, akkor megpróbálhatja kideríteni, vannak-e egyéb lehetőségek, vagy használhat valamilyen régi, nem kompatibilis funkciókkal egyenértékű megvalósítást.

. . .

< / head >

// a dokumentum betöltése után ellenőrzik a böngésző verzióját

Ismert böngésző-konfigurációk

A böngésző felfedezésének és funkcionalitásának összehasonlítása. Ezek a táblázatok segítenek tisztázni a két alternatíva közötti különbségeket a különböző helyzetekben. Az egész lehetséges lehetőségek kód, amely a tesztelési oldalunk számára költséget jelent. Az ismert böngészőkonfigurációkat tekintve mindkét módszer jól működik.

Ismeretlen böngészőbeállítások

A helyzet nagyon érdekes lesz, amikor ismeretlen böngészőkonfigurációkkal kell foglalkoznunk. Ebben a példában azonban az oldal nem néz ki jól, ha böngésző észlelést használunk, mivel nincs alternatíva, amely összeköti az összes érvényes kódszegmenst, még akkor is, ha az oldal tartalmazza az összes kódot, amelyet ennek az ismeretlen böngésző-konfigurációnak megfelelően látnia kell.

// és néhány intézkedés megtörtént

< body onload = "check_version();" >

. . .

A php hivatkozhat a böngésző által továbbított fejlécekre, a getallheaders () függvény használatával, asszociatív tömböt ad vissza, ahol az elem információkat tartalmaz a böngészőről.

Tehát kiderült, hogy van legalább kétféle módszer: melyik a jobb? Én azt javaslom, hogy minden, a biztonsághoz nem kapcsolódó, az ügyféloldalon meglehetősen könnyen végrehajtható munkát az ügyfélgépen végezzünk. Manapság gyakran előfordul, hogy az ügyfélgépek erőforrásai jelentősen meghaladják a virtuális dedikált webszerverek képességeit. Tehát hadd dolgozzanak, amennyire csak lehetséges.

Példák a funkcionalitás meghatározására

Először mindig ellenőrizze a szabványokat, mert a böngésző gyakran támogatja a legújabb szabványt és az előző kód valamilyen alternatíváját. Másodszor, minden teszt során csak a megfelelő funkciókat ellenőrzik, amelyeket keresnek, mindig megpróbálva a legkisebb számot venni alkalmasságakompatibilis az egyes böngészőkkel a meglepetések elkerülése érdekében.

Nézzünk néhány példát a funkció észlelésére. A következő szkript két alternatívát nyit meg. Egy másik jó taktika az, hogy a funkcionalitás észlelését egy sor olyan funkcióba sorolja be, amelyet azután a kód egészében felhasználhatunk. Egyszerűen igaz vagy hamis értéket ad vissza, ami megkönnyíti az alprogram újrafelhasználását.

Másrészt előfordulhat, hogy a javascriptek egyáltalán nem működnek az ügyfél számára, és akkor az egyetlen mód a kiszolgálón történő ellenőrzés. Ez a jelenség nagyon ritka, bár nincs pontos statisztikám.

Vannak buktatók itt is. Valójában, ha nem veszi figyelembe a személyes preferenciáimat, akkor a szerveroldali ellenőrzés elvégzése alapvetően helyesebb módszer lesz. Csak azért, mert a böngésző verziójának meghatározása néhány régi ügyfélen nem lesz lehetséges, amint azt a példában bemutattam. És a forgatókönyv összetettebb lesz. Az egyik buktató a weblapok gyorsítótárazásának rendszerévé válhat (mint például a drupal esetén). Miután a szerveroldalon megállapította, hogy az ügyfél megfelelő, vagy fordítva, nem alkalmas a webhely megjelenítésére, egy ilyen eredményű oldal jelenik meg az összes többi névtelen ügyfél számára, amíg a gyorsítótár lejár. Ilyen esetekben a javasctipt már az egyetlen megfelelő lehetőség.

A funkció észlelésekor mindig használja az újonnan létrehozott elemeken vagy objektumokon. Ebben az esetben ellenőrizheti azt az esetet, amikor egy ugyanazon az oldalon található másik szkript a létrehozásának pillanatától kezdve megváltoztatta a helyzetet, ami kiszámíthatatlan és kiszámíthatatlan viselkedéshez vezet.

A böngésző megjeleníti az első részelemet, amelyet a felső elem támogat, és vizuálisan elrejti az alábbi elemeket. A legegyszerűbb formában az eljárás így néz ki. De biztonsági mentés ugyanazon címkén lévő különböző video formátumokhoz is működik. Az Ön böngészője nem támogatja a videó natív támogatását.

A fancybox plugin ilyen viselkedésével szembesülték. Amikor megnyit egy modális ablakot, a főablak a legfelső tekercsre görget. Hogyan kezeljük ezt? Ez nem mindig fordul elő, de néhány esetben az elrendezés. Az elrendezést már problematikus megváltoztatni ...