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ó.