Betöltés vtrostepennogo tartalom Ajax-edik
A felhasználó mindig azt akarja tartalmat. És, amint lehetséges. Nem volt hozzászokva, hogy várjon, és nem szeretem csinálni. Lánctalpas, valami hasonló a felhasználó. Azt is szeretné, ha a tartalmat. Azonban abban az időben a kibocsátása valószínűleg nem érdekli, de nagyon aggódik hasznos tartalmat kapcsolatos összes információ mennyiségét az oldalon.
Ebben a cikkben, írok, hogyan lehet gyorsan és egyszerűen a lapok tartalmi és tenni valamit SSI hasonlóság, de az ügyfél nem a szerver.
Ami fontos, az oldalon?
Először is, el kell dönteni, mi az oldalon fontos, és be kell tölteni az első hullám. Azt hiszem, fontos:- Tartalom (a fő része az oldal)
- Navigációs (ha a felhasználó nincs csatlakoztatva JS vagy bot szükséges minden esetben, meg referenciákat)
- Logó (véleményem szerint szükség van egyszerre. De ez vitatható)
Amennyiben befejezni betöltése?
Ahhoz, hogy hozzá a terhelés valamit, először el kell döntenie, hogy hová megyünk valami ki. Azt javaslom, hogy elő egy oldalt, ahol jelöli a helyet, ahol lesz betöltve több adatot, de hagyjuk őket üresen. Ezek a helyek nyújt az id, és amely azt fogja találni őket a szövegben az oldal.
Itt egy oldalra. Azt tervezzük, hogy adjunk a terhelés id = "left", id = "right", id = "img".
Hogy növeli a terhelést?
Most létre kell hoznunk egy teszt azt találtuk, hogy növeli a terhelést. Úgy döntöttem, hogy korlátozza a fájlnevet, és nem az eredmények a forgatókönyvet. Miért? Bővebben később.
- left.html - Ez maradt szöveget
right.html - It Right dalszöveg
img.html - Ez a kép
A problémák elkerülése érdekében az Ajax, azt javaslom, hogy azonnal tegyen meg mindent utf-8. Tehát a helyes és kényelmes.
motor rakodó
Azt javasoljuk, hogy használja a jQuery könyvtár. Ez kicsi, gyors és kényelmes. Csatlakozó egyszer, minden szkriptek az oldalon lehet írni segítségével vágási munkák száma és a kódot. Valójában azonban ugyanezt meg lehet tenni a tiszta JS, vagy más, a könyvtárak.
A kezdéshez meg kell tenni a megfelelő mezőbe ezen az oldalon, a letöltött fájlok rájuk. A JS e hasznos tárgyakat. Tehát létre az objektumot.
/ * Adatok betöltése * /
var to_load = '#left': 'left1.html',
'#right': 'right.html'
'#img': 'img.html'
>
Most kell elkapni a pillanatot, amikor a fő tartalomra már be van töltve. Ebben a pillanatban, meg kell kezdeni hajózási mi további egységek. Elkapjuk az eseményről:
/ * BE- kiegészítő tartalom * /
$ (Document) .ready (function () alert ( 'Ideje betölteni kiegészítő tartalom');
>);
Remake a funkciót, hogy előnyös. Ehhez meg kell járni a kulcsait a hash mezők Az objektum és betölti a megfelelő mezőbe kívánt tartalmat.
/ * BE- kiegészítő tartalom * /
$ (Document) .ready (function () a (k in to_load) $ (k) .load (to_load [k]);
>
>);
Elvileg minden működik. De ez lenne az esztétika. Ez azért szükséges, hogy a felhasználó tudja, hogy van ott valami is betölt. Általában használják gif-képet. Mi nem fog eltérni a hagyomány. Tehát ebből az összes blokk gif-kép feltöltése.
/ * BE- kiegészítő tartalom * /
$ (Document) .ready (function () a (k in to_load) $ (k) .append ( '');
>
A (k to_load) $ (k) .empty ();
$ (K) .load (to_load [k]);
>
>);
Mindent! Oldalunk kész! Először is, mint azt szerettük volna, gyorsan betöltődik a kívánt tartalom kedvenc keresőprogram, és így szükséges a felhasználó, majd újratöltötte a többit. Továbbá, ha a felhasználó rákattint az Esc, rakodási leáll, és ez fogja megmenteni a sávszélesség.
Itt egy dolog. Úgy tűnik, egyszerű és harsonaszó nélkül, optimalizáltuk az oldalt keresőmotorok és a felhasználók egyszerre. Kelj fel, persze, néhány kérdést. Például, nem lesz tiltva az ilyen ellátás a felhasználókra Yandex? Zakeshiruyutsya hogy a képek betöltése ilyen módon? Különben is, ez reális, hogy ezt a gyakorlatban, a szokásos helyek, de nem internetes alkalmazások?
Próbáljunk válaszolni néhány felvetett kérdésekre.
Kérdésekre adott válaszok
Will cache szelet kapott Ajax?
Itt nehéz és végrehajtásától függ. Ha hozzáfér a forgatókönyvet a darab, minden attól függ, milyen fejléceket küldöd a böngészőnek.
Ha te, mint én, hogy csak betöltött html-ki, itt minden nehéz. Az a tény, hogy az IE gyorsítótáraz ezeket a darabokat, és elég kitartó megragadja őket, úgy, hogy ha megnyomja a Ctrl + R (oldal újratöltődik, hogy megkerülje a cache), továbbra is előnyt darabokat a gyorsítótárból.
Más böngészők nem cache tartalmat így kapott, kivéve, ha másként nem kifejezetten megadva a fejlécek a szerver válaszát.
Ban legyen Yandex?
Nem hiszem. Yandex megtiltja, általában tartalom meghamisítását. Vagyis, ha a bot táplálja egyik oldalon, valamint a felhasználó látja a másik. Ebben az esetben, a hajó és a felhasználó ugyanazt a dolgot. Csak a felhasználó azt a képességét, hogy több. Mindenesetre, azt majd meglátjuk.
Lehetséges, hogy használja a dinamikus tartalom a kliens oldalon újratöltés rendszeres honlapok?
Azt hiszem, igen. Csak meg kell szokni, és alkalmazkodni. Mindenesetre, azt hiszem, hogy bölcs dolog letölteni statikus darab, ismételt minden oldalon. Ebben az esetben a cache fog játszani kezünkbe. Többszörös hozzáférés a szerver-oldali script, így létrehoz egy nagy terhelést a szerver, amely befolyásolja a teljesítményt. Ezért azt tanácsolom, hajó statikus html-darab. Azaz, hogy ezt a megközelítést, mint a „kliens SSI”.
Akkor biztosan hozzá a terhet, hogy a darab által létrehozott szerver oldali script. De ha a szerver lassul - nem mondom, hogy nem szóltam;)
Mi történik, ha a felhasználó letiltotta JS?
Bármi történik kritikus. Csak akkor a felhasználó nem kapja meg a kiegészítő tartalom, és kap csak, amit eredetileg az oldal kódja. Meg kell rendezni, hogy elméletben, mert szándékosan korlátozott funkcionalitása a böngésző, és a helyszínen korlátozott neki valamilyen lehetőséget. De ez nem számít, mert a felhasználó a megfelelő design az oldalon, akkor is hozzáférhet a tartalmak és a navigáció.