A böngésző definíciója a joomla 3-ban, a súlyos Jumlawoda blogjában

Az utolsó modul fejlesztése során szükségessé vált, hogy információt szerezzen arról, hogy az oldal aktuális látogatója milyen böngészőt használ, valamint a teljes UserAgent vonalat. Tekintettel arra, hogy a 3.4.7-es verzióból származó Joomla 3-nak nem sikerült ilyen adatokat tárolnia a mysql _session táblában, be kellett ásnia a beépített Joomla 3 osztályba, és kiderült, hogy mindez nagyon egyszerű. A szokásos módon ez az anyag azért jött létre, hogy újból szükségessé váljon, és talán hasznos lesz azok számára, akik ma ezt a kérdést zavarják. A beépített osztályok leírása a böngésző definíciójáról a Joomla 3-ban, hogyan kell együttműködni velük, valamint több példát is e kategóriában.

A Joomláról az aktuális felhasználó böngészőjéről két különböző osztályt kaphat: JBrowser és JApplictionWebClient. Az utóbbi kevés adatot szolgáltat, ezért ma megfontoljuk a JBrowser osztály képességeit.

1. JBrowser osztály a Joomla 3-ban

A JBrowser osztály része a Környezet alosztálynak, amely a fő Joomla 3 könyvtár része. A JBrowser osztály használatához először csatlakoztatni kell, vagy inkább be kell importálni a modul \ plugin \ komponensébe. Ez a következőképpen történik:

Ezután beállíthatja a JBrowser objektumot egy változóhoz a következő sor használatával:

1. Most kaphat hasznos adatokat a változóból. A kezdéshez húzza ki a UserAgent böngésző sztringjét:

Ahhoz, hogy a böngésző válaszoljon nekünk valami hasonlóra:

2. Nem lehet ellopni, hogy meghatározza a böngészőt a UserAgent vonalon, de azonnal megkapja a böngésző típusát a getBrowser () módszerrel;

Aztán válaszként valami olyasmit kapunk:

3. Szükségtelen manipuláció nélkül divatos meghatározni az aktuális felhasználó böngészőjének verzióját. Ehhez három módszert használhatunk: getMajor (), getMinor (), getVersion (). Tegyük fel, hogy van egy Chrome böngésző verziója 47.0.2526.106 m.

A getMajor () módszer a böngésző verziójának egy részét veszi át az első pontra. Vagyis egyszerűen visszaad egy sort:

A getMinor () metódus a böngésző verziójának következő részét átveszi a második pontra. Úgy értem, válaszul egy egyszerű - 0-ot ad.

A getVersion () módszer visszaadja a böngésző verzióját a második pontra, azaz az én esetemre:

4. Az osztály standard módszerei meghatározhatják az operációs rendszer platformját is, amelyen az aktuális felhasználó böngészője fut. Ezt a getPlatform () metódussal lehet megkapni;

Válaszul, hogy a Joomla 3 csak három lehetőséget ad nekünk: "win", "mac" vagy "unix".

Ha az előző módszerek válaszként válaszoltunk nekünk egy karakterláncot, akkor a következő módszerek csak igen vagy nem válaszolnak nekünk.

5. Az isBrowser () módszer lehetővé teszi annak meghatározását, hogy az aktuális felhasználó böngészője megegyezik-e azzal, amit meg akarunk találni. Például, van egy króm böngészőm, és ha szeretnék megjeleníteni egy üzenetet a krómos böngészők használatakor, használhatja a következő kódot:

Vagy mondjuk, hogy további CSS-stílust kell betölteni, ha a böngésző Donkey, amelynek verziója 7 alatt van:

6. Az isMobile () módszer lehetőséget nyújt arra, hogy előre tudjuk, hogy a jelenlegi felhasználó böngészője mobil-e. Kérdezzük meg a Joomla-t, ha a böngésző mobil, ha igen - üzenetet küldünk:

7. A JBrowser osztályban létezik egy funkció az Internet botok meghatározására a Joomla 3-ban. Ez volt az isRobot () módszer alapja. Ez a módszer 40 apró alá tartozó botok kis adatbázisán végez keresést. Ez a módszer nem adja meg a bot nevét, egyszerűen keresi az useragent aláírását az adatbázisából. Ha valamit talál, akkor igaz.

8. Ki kell tudnia dönteni, hogy az aktuális kapcsolat SSL-védelemmel van-e ellátva vagy nem az alábbi módszerrel:

9. És igen valószínűleg nem a kiszolgáló protokoll http változatát meghatározó szükséges módszer:

10. Még mindig meg lehet állapítani, hogy a jelenlegi böngésző képes-e bizonyos típusú fájlokat megjeleníteni. Meghatározhatja például, hogy a böngésző képes-e Adobe Flash fájlokat megjeleníteni:

Az ellenőrzési mime típusok listája megtalálható a Wikipédiában.

Hasznos anyagok a témában:

Hasznos dolgokat? Támogassa blogunkat a közösségi hálózatban!