ugrás a tartalomhoz

Tartalom váltása a lap újratöltése nélkül, és a ?oldal=lapneve

nrbii · 2007. Aug. 23. (Cs), 18.04
Sziasztok. A címem elég furcsa lett, de megpróbálom elmagyarázni :)

A tutorial.hu egyik cikke (php switch get II.) alapján az oldalamon ilyen szerkezetet alakítottam ki.

Viszont a tartalmat jó lenne a lap ujratöltése nélkül váltogatni, így megtaláltam (ezt) a cikket. Viszont itt a cikk közvetlenül a tartalom fájlára hivatkozik, ami nekem is működik, de én szeretném megtartani a '?oldal=lapneve' szerkezetet.

Megoldható ez?

Egyébént a mostani oldalamon épp így van megcsinálva, de az eredmény nem a várt eredmény, hanem vmi egészen más :D

http://nrbii.extra.hu - itt látható az eredmény.

Valami ötlet, hogy hogy tudnám megoldani?
 
1

Nem

Jano · 2007. Aug. 23. (Cs), 19.24
Ha URL-t választász akkor a böngésződ automatikusan újabb teljes oldal lekérést indít a szerver felé. Az URL-ben egyedül a # utáni részt változtathatod meg anélkül, hogy elhagynád az oldalt, ugyanis ez az adott lapon belül ugrik. Másik is ezt szokták használni, de figyelj, hogy a keresők és direkt linkelők is le legyenk kezelve!
2

Tudom

nrbii · 2007. Aug. 23. (Cs), 19.31
Azt tudom, hogy a teljes lapot lekéri, mivel az index.php?oldal=valami tartalmazza a teljes designot, és ezt teszi bele a divbe. De ha meg azt csinálom, hogy pl. a kapcsolat.php-re váltok, az megy, de akkor már a kapcsolat.php nem linkelhető be... Na mind1, így nem tudom megoldani :)

Csak egy-egy lap váltásakor a fehér kép pillanatig tartó megjelenése zavaró :(
43

Megvan mi volt a hiba, hogy nem fogtam fel korábban...

nrbii · 2007. Okt. 14. (V), 22.25
Gondoltam megírom, megvan mi okozza a villanást, de ezt ha jól emlékszem, erre figyelmeztettetek is, de nem gondoltam volna hogy ez a hiba.
Hiba: Extra.hu ingyenes tárhely villantja, valószínűleg a tetején található kis JS-es reklámocska szerűség...

Egyébként mint korábban írtátok, az oldal XHTML szempontjából nem valami szép, nem is valid, design se a legjobb...
Hát, azt kell mondjam, azóta szinte teljesen más lett az oldal, persze még nem tökéletes, de haladok, jelenleg már Valid XHTML 1.1, a kód szépen bentről kifele halad, a design is változott, menü is...

http://nrbii.extra.hu
3

ha jól értem ez kell neked

rrd · 2007. Aug. 24. (P), 12.28
http://rrd.1108.cc/konyvjelzozheto-ajax-alkalmazasok/
4

Mutatok egy oldat, lásd mire gondolok...

nrbii · 2007. Aug. 24. (P), 22.40
ixc.irl.hu - ez egy oldal, nem ismerem a tulajdonost. Itt is a ?p=akarmi szerkezet van, és mégse villan, hanem csak a tartalom változik.
Ilyet szeretnék csinálni én is...
5

ez is újratölt

rrd · 2007. Aug. 27. (H), 09.31
Az oldal amit belinkeltél az is újratölt mindig. A belinkelt oldalon a fejléc képét cacheli a böngésző azért nem látszik a villanás. Az oldalad meg nem úgy néz ki mintha jól össze lenne téve xhtml szempontból. Mellesleg szerintem a lightbox miatt villan a tiéd. Abból gondolom, hogy első oldalletöltéskor is villan egyet miután betöltődött. Próbáld ki mit csinál ha kiveszel belőle minden javascriptet. Ha úgy nem villog, akkor pakold őket vissza egyesével. Ami után elkezdi megint az a bűnös. Azt kell megnézni. Valószínűleg az onload után művel valamit ami miatt villog.
6

Utána fogok nézni

nrbii · 2007. Aug. 27. (H), 10.10
Hogy érted hogy nincs jól összeerakva XHTML szempontból? :)
A lightboxot egyébként tegnap este pakoltam bele, csak van vele egy kis gond, hogy az opacity-s divek miatt teljesen szaggat...
Azt a cachelést egyébként hogy lehet megoldani. De várj, Google-zok egy kicsit :)
36

weoldal kritériumai/szabályai

monxla · 2007. Szep. 24. (H), 20.36
Hali rrd

Lenne pár kérdésem.
Melyik az az oldal ami jól össze van rakva XHtml szempontól?
Egy "modern" weblap esetén mik azok a kritériumok amiknek illik/kell megfelelni? pl. olyasmire gondolok hogy érdemes egy css-be szervezni a dolgainkat mert ez növeli az oldal performaciáját stb.

Szóval mik ezek a szempontok?
38

weblap követelmények

rrd · 2007. Szep. 25. (K), 10.46
csak címszavakban:
doctype és annak megfelelő valid xhtml
külön fileban a css
külön fileban a js
diszkrét css és js
az oldal működtethető js nélkül és használható css nélkül

hirtelen ennyi jutott eszembe, de szerintem ez egy külön téma, cikk vagy thread :)
7

ajax

asam9 · 2007. Aug. 30. (Cs), 17.05
Sziasztok!

rrd, lehet, hogy rosszul értelmeztem a cikked (meg ez egy videora volt példa), de akkor meg lehet azt csinálni ajax-szal, hogy amikor tartalmat váltasz, akkor nem csak azt tudja kiírni a böngésző, hogy http://akarmi.hu/#, hanem azt hogy http://akarmi.hu/lapneve.html? Ez a téma nagyon érdekelne.
9

ajax az #

rrd · 2007. Aug. 31. (P), 09.43
Ezzel a megoldassal csak # lehet. De mit változtat?
11

mit változtat?

asam9 · 2007. Aug. 31. (P), 14.40
Hát pl. mondjuk, hogyha vki berakja kedvencekbe az egyik menüpont tartalmát és csak arra kíváncsi...
Meg egy olyan is jó volna, hogy ha beregizem az aloldalakat google-be, akkor ha egy aloldalra keresnek rá, úgy nyíljon meg, hogy bejön maga az index.html és annak a content div-jébe (loadinto-content) már be lenne töltve a tartalom. Gondolom ilyet se lehet(?)
13

de lehet

rrd · 2007. Szep. 6. (Cs), 13.29
erről szól a cikk amit belinkeltem
15

ajax

asam9 · 2007. Szep. 6. (Cs), 17.06
Köszi a választ, ennek nagyon örülök... tudom, hogy erről szól a cikk, nem jól tettem fel a kérdést...
Hogyan lehet? :)
Abban a cikkben egy video-s példán keresztül van bemutatva egy dolog és az a baj, hogy még nem tanultam se js-t se xml-t --> se ajax-ot, így átültetni se tudom azt a problémát ennek a problémának az orvoslására.
Ennek ellenére csináltam egy ilyen oldalt /htmlhttprequest/, mert ugye egy ilyet... megírni nehéz és nem beépíteni, ha van hozzá leírás.
Ezt írtad egyszer (9. hsz.): "Ezzel a megoldassal csak # lehet. De mit változtat?"
Most viszont felcsillant a szemem, mert azt írtad, erről szól a cikk...
De a lényeg, hogy be szeretném majd regizni google-be az összes alolalt és azt akarom, hogy az index -és az abba "beletöltődött" aloldal jelenjen meg ha pl. így regizném be: http://akarmi.hu/aloldal.html. (de lehet akármilyen hireoglifa is az akarmi.hu/ után, csak működjön)
De vszínűsítem, hogy ekkor csak egyedül az aloldal nyílna meg, nem pedig az index.html és beletöltve az, mert ha beírom az elérési útját a böngészőbe, akkor ez történik. És sajnos kevés vok ahhoz, hogy azt a cikket áttranszponáljam erre...

A másik probléma, hogy opera alatt nem működik az oldal rendesen... két menüpontot be se tölt egyátalán, egyet meg úgy hogy kilóg a tartalom a div-ből. Az összes többi böngészőn viszont megy ( IE, FF, NS, FF(mac), Safari(mac) ). Olyan, mintha az ajax+float-ot nem szeretné az opera...
Van egy olyan érzésem, hogy ez nem fog megoldódni /de azért ha van ötlete vkinek, szóljon nyugodtan :)/.
Az első dologra tudnál vmit tanácsolni?
17

ha nem tanultál ilyet

rrd · 2007. Szep. 7. (P), 11.44
Figyelj, ha nem tanultál ilyet akkor tanuld meg. Ha nem akarod akkor meg fizess egy szakembernek aki megcsinálja. Nincs köztes megoldás.
19

ajax

asam9 · 2007. Szep. 7. (P), 17.22
Rendben... egyébként szándékom (habár 3 nyelvet nem fogok két nap alatt megtanulni) ... de ha ennyire bonyolult a dolog, hogy nem fér el "10" sorban, akkor ez lesz.
20

nem ez a lenyeg

zila · 2007. Szep. 7. (P), 18.30
ne vard, hogy kesz megoldast kapsz, ez nem ingyenes munkasok gyujtohelye... Ha segitseg kell mert elakadsz az rendben van. senki nem 2 nap alatt tanulta meg a szakmat.
21

ne várd, hogy ...

asam9 · 2007. Szep. 7. (P), 20.37
Segítség kellett, mert elakadtam. Nem komplett oldalt kértem, és hogy vki csináljon meg mindent helyettem, hanem azt, hogy ha tud vki olyan módszert, amivel meg tudom oldani a már kész oldal egy problémáját, az szuper lenne, ha leírná. - ez akár egy db link is lehet.
Úgy vágtam neki az ajax-os oldal megírásának, hogy nem lesz vele olyan gondom, amire lehetetlen megtudni a megoldást. Ezért mertem belevágni. Ezután jöttek a gondok. És most írhatod, hogy akkor máskor gondold végig, hogy mit csinálsz. De köszi, ezt magamtól is tudom már, utólag okosabb az ember. Egy éve foglalkozom ezzel a témával (weboldalszerkesztés) és szeretnék tanulni, fejlődni a továbbiakban, de az, hogy szükségem van egy kódra -mert a legjobbat akarom kihozni az oldalból-, akkor fogom magam és megtanulok most 3 nyelvet /mert most kellene tudnom, nem 10 év múlva/..., na az természetesen nem fog sikerülni. Tudomásul veszem, hogy nem kapok segítséget, ezzel az ég világon nincs is semmi gond, van ilyen... csak érted... arra azért veszed a fáratságot, hogy ezt leírd... na mindegy.
Idáig nem ez volt a tapasztalatom, ha segítséget kértem. Fordított esetben, ha tudok vmit, akkor azt megosztom, ha látom, hogy biztosan nem tudok olyat mondani, ami előrebillentheti az illetőt, akkor ugrok egyet, nézek mást, ha látom, hogy kis kereséssel meg tudom találni a választ, hát megkeresem és leírom - ezt senkitől nem várom el, csak megjegyeztem. Dehát ahány ember, annyi gondolkodásmód.
Azért köszi a véleményed.
23

nem is erről van szó

Fraki · 2007. Szep. 8. (Szo), 00.51
Ez a fajta diskurzus itt és más webes fórumon is elég gyakori, ismert a séma. Nem egyes emberekkel állsz szemben, hanem egy közösséggel -- kicsit pejoratívabban akár kasztot is mondhatnánk. Amely kaszt felé többet kell mutatnod ahhoz, hogy amennyit tőle vársz, azt megkapd.

A beleadott fáradság és a kért segítség mértékének (mások beleadott fáradságának) van egyfajta aránya, amit el kell érni ahhoz, hogy együtt lehessen működni. (Ez egyébként nyilván minden szakmai közösséggel így van.)

Plusz valószínűleg van egy bizonyos statikus együttható is, ami meg minimumot szab a segítségkérő kompetenciájának.

Formálisan durván valahogy így modellezném:

Siker = RC > MinC && Sol[RF] / Sol[HF] > 1 && Sol[HF] < MaxHF * Int

ahol
RC: Requester's Competence
MinC: Minimum Competence
Sol: A probléma megoldásának leírótömbje
Sol[RF]: A megoldáshoz vezető úton Requester beleadott Fáradsága
Sol[HF]: A megoldáshoz vezető úton Helper beleadott Fáradsága
MaxHF: Maximális Helper Fáradsági együttható
Int: Interest - érdekességi együttható


Valószínűleg még lehetne finomítani a képleten.
24

képlet

asam9 · 2007. Szep. 8. (Szo), 10.59
Nem semmi a képlet :D Az, hogy egy közösséggel állok szemben, nem igaz, viszont az arányban igazad van. Erre a fórumra csak pár hete regiztem, azért nincsen még meg ez az arány.
25

a megoldás már elhagzott

zila · 2007. Szep. 9. (V), 11.33
Egy ajax oldal deep-linkelése picit eltér a szokásostól:

<a href="index.php?oldal=lapneve">Hagyományos link</a>
<a href="index.php#lapneve">Ajax link</a>
Annyi a dolgod, hogy javascriptben a lap url-ében található anchor hivatkozás alapján betöltöd a megfelelő laprészt, miután a lap betöltődött (onLoad esemény). Javascriptben a Location object tartalmazza a lap url-ét.

Amiért az előző hozzászólásomat írtam, az pont az, hogy segíteni csak annak lehet, aki maga is segíteni akar magán. Ha a cél eléréséért te magad nem teszel semmit, csak írsz egy fórumra, akkor megnehezíted a mi dolgunkat is, hiszen a kályhától kell kezdeni a magyarázatot, hogy megértsd a választ. Erre meg elég kevés embernek van ideje...

Fordított esetben, ha tudok vmit, akkor azt megosztom, ha látom, hogy biztosan nem tudok olyat mondani, ami előrebillentheti az illetőt, akkor ugrok egyet, nézek mást, ha látom, hogy kis kereséssel meg tudom találni a választ, hát megkeresem és leírom

A tudás megosztással nincsen bajom, de más helyett nem írok kódot, és google kezelő sem vagyok. Ha valami kis kereséssel megtalálható akkor miért nem a kérdező végzi el ezt a kis keresést? Sajnos sokan félreértelmezik a fórumokat, mondván minek tanuljak meg egy nyelvet/technológiát/akármit, elég ha csak beírok a fórumba és majd a végén kipottyan egy kód amit copy+paste módszerrel berakok a weboldalamba és kész. Ezt nem feltétlenül ráf értettem, csak megjegyeztem :)

Amiért végül írtam az az, hogy Janó #1-es hozzászólásában már elhangzott a megoldás, majd rrd küldött konkrétan a problémádra egy cikket. Ezek után annyi lett volna a dolgod, hogy megértsd az ott leírtakat, vagy legalább elkezdd megoldani valahogy az alapján ahogy érted. Ha beküldtél volna 10 sort te magad, biztosan kaptál volna segítséget még ha teljesen hibás a kódod akkor is.
26

ajax

asam9 · 2007. Szep. 9. (V), 21.45
Köszönöm szépen a választ, már nem is számítottam rá. Hidd el, komolyan sokat kerestem google-ben. Próbáltam ezen elindulni, amit írtál... Leírom a kódot, hogy jó helyen kapisgálok-e egyátalán.

Annyi a dolgod, hogy javascriptben a lap url-ében található anchor hivatkozás alapján betöltöd a megfelelő laprészt, miután a lap betöltődött (onLoad esemény). Javascriptben a Location object tartalmazza a lap url-ét.


Világos a feladat, csak a kivitelezéssel van gond :) Tényleg kerestem a neten rengeteget ma is....., de amiket találtam, az alapján nem állt össze a kép, szal az eredmény szinte 0.

head-be beillesztettem a dhtmlHistory.js-t:

[script type="text/javascript" src="dhtmlHistory.js"][/script]

( Ezt találtam location object-re, de tuti nem ez kell:
[script type="text/javascript"]
document.write(location.href);
[/script] )

/ Muszáj voltam kapcsos zárójelek közé írni a script-et, mert különben nem engedte elküldeni a hsz-t :( /

html:

...
<body> <!-- gondolom ide kellhet az onload esemény -->
...
<div id="menu">
<ul>
<li>
<a href="index.html#content/kepgaleria.html" name="kepgaleria">KÉPGALÉRIA</a>
...
...
</li>
</ul>
</div>
</body>
...

Nem szeretek hibás kódot beírni, de ha tényleg kijavítotok, akkor megéri :)
27

nos

zila · 2007. Szep. 10. (H), 08.04
A location object-nek van még pár egyéb tulajdonsága, érdemes a google második találatát is elolvasni ;)
http://www.devguru.com/technologies/ecmascript/quickref/location.html

Kódot pedig a hozzászólás textbox felett található gombsor utolsó darabjára kattintva tudsz beírni.

<a href="index.html#content/kepgaleria.html" name="kepgaleria">KÉPGALÉRIA</a>
Ez a link teljesen rossz. Az url felépítéséről indulásképpen: http://en.wikipedia.org/wiki/URL

A linkjeid ajax esetén kb. így fognak kinézni:

<a href="#galeria" onClick="loadContent(this.hash);">KÉPGALÉRIA</a>
Az onloadkor meghívott függvényed is igen egyszerű lehet:

function init() {
      content = '#alapértelmezett';
      if (location.hash) {
           content = location.hash;
      }  
      loadContent(content);
}
Csendben jegyzem meg, hogy rrd cikkében is pont ez van leírva...
28

ajax

asam9 · 2007. Szep. 10. (H), 18.32
köszi a fáradozásod :)

A linken annyit változtattam, hogy #galeria helyett #kepgaleria lett, mert a content mappában lévő képgalériának az a neve az, hogy: kepgaleria.html ... ez így okés? Ha nem adom meg vhogy hogy a kepgaleria.html a content mappában van, akkor hogy képes megtalálni/betölteni?

A függvényt a head-be, script-ek közé tettem. De sajnos eddig még nem működik :( Nem reagál semmit a kattintásra, ill. tölt egy kicsit, de aztán semmi.
Az '#alapértelmezett'-et átírjam #index-re vagy ennek a névnek semmi jelentősége?
29

jaj :)

zila · 2007. Szep. 10. (H), 21.48
Tökmindegy mi a link hash-e, amiket írtam csak példa... Nem értelek. Azt mondtad, hogy a content betöltés már működik ajax-szal. Akkor most mégse??

Persze, hogy nem működik mivel példa kód, hogy lásd a lényeget. Amit küldem az #akármi nevű tartalmat kéri le a szervertől, nyilván ezekre kell valami kis mappelés pl, egy asszociatív tömb a szerveroldali ajax kezelőben, hogy ha a kliens a #akarmi-t kéri akkor a valami/akarmi.html-t adja vissza neki. Persze ezt a mappinget teheted kliens oldalra is, ott is ugyanez a menetrend...

Természetesen az #alapértelmezett-et úgy gondoltam, hogy ha nincs az url-ben hash akkor ezt vegye alapértelmezésnek, ennek add azt a hash-t amit alapértelmezés szerint betöltesz...

Szépen hozod a papírformát, ha nem tudsz programozni javascriptben, akkor nem fogsz boldogulni az ajax-szal. (bár az a nyúlfarknyi js megérthető akkor is ha már programoztál bármiben).

Még egyszer: amiket én írtam kódot az nem fog működni változtatás nélkül...
30

ajax

asam9 · 2007. Szep. 10. (H), 22.10
Höhö :) Hát igen működött, csak azt hittem, hogy át kell írnom teljesen... de ... azt hiszem elkezdem olvasni a mysql könyvet, után jön php, majd a js... tényleg muszáj lesz elkezdeni.

Ahogy ezelőtt volt:

<a href="content/kepgaleria.html" class="loadinto-content">KÉPGALÉRIA</a>
8

Cache

nrbii · 2007. Aug. 30. (Cs), 23.14
Engem ez a cache érdekelne, hogy hogy lehet cache-lni a fejlécet meg a többi részét az oldalnak?
10

cache

rrd · 2007. Aug. 31. (P), 09.43
A cache-t elintézi a böngésző maga.
12

Cache

nrbii · 2007. Szep. 1. (Szo), 20.20
De azt hogyan lehetne mégis megodani, mint amit a belinkelt oldalban, hogy a fejlécet menüt stb-t ne töltse újra, vagy ha újratölti, ne látszódjon?
14

nem a cache a gond

rrd · 2007. Szep. 6. (Cs), 13.30
nálad nem a cache a gond hanem a lightbox. a tiéd is cachelődik automatikusan csak valaelyik javascript megvillantja.
16

Lightbox?

nrbii · 2007. Szep. 6. (Cs), 22.29
Jelenleg nincs Lightbox beépítve. Javascript meg csak 1 van, ha jól emlékszem, az pedig az, hogy a lap alja fele a linkek véletlenszerűen kiválasztva egyet-egyet jelenjen meg.
18

pedig a js okozza

rrd · 2007. Szep. 7. (P), 11.47
ha nincs lightbox akkor a másik js okozza. Lehet hogy az extra bal felső menüje. Kísérletezz. Ott lesz a bibi.
22

Extra.hu?

nrbii · 2007. Szep. 7. (P), 21.28
Sajnos nem az Extráé. Feltettem egy másik tárhelyszolgáltató tárhelyére, és ott is csinálta. Tanácstalan vagyok.
31

ha más nem segít

rrd · 2007. Szep. 13. (Cs), 12.59
Ha nincs jobb ötlet akkor próbálkozz a következővel: Szépen szedj ki mindent az oldalból és pár soronként pakolgasd vissza. Minen lépésnél teszteld, hogy előjön a hiba vagy sem. Amikro előjön akkor legalább azt fogod tudni, hogy mi okozza. Ha az megvan akkor már egyszerűbb orvosolni.
32

Nem akar működni

nrbii · 2007. Szep. 17. (H), 10.09
Kiszedtem én mindent JS-t, de úgyis villan. De egyébként ez akkor is így van, ha egy linket, csak egy linket tartalmazó php fájlról megyek át egy másikra, akkor is villan. Na, ezt akarom én eltűntetni, mert látom, van, akinek sikerül.
33

up

nrbii · 2007. Szep. 24. (H), 16.18
Senki többet?
34

ajax

asam9 · 2007. Szep. 24. (H), 16.30
nrbii, hogyha be akarod tölteni a tartalmat lap újratöltése nélkül, abban tudok segíteni, de csak úgy, hogy ha nem felétel az, hogy legyen "?oldal=lapneve szerkezetet" is.
35

Hát, nem tudom..

nrbii · 2007. Szep. 24. (H), 20.10
Hát, a belinkelgetés, és a <title> miatt szükséges a ?oldal= szerkezet. De egy csomó weblapon ilyet látok...
37

ajax

asam9 · 2007. Szep. 25. (K), 07.06
értem én... azért szólj, ha meggondolod magad.
39

Nem tudom...

nrbii · 2007. Szep. 25. (K), 19.00
Hát, nem hiszem hogy meggondolom :), mert a linkelés és a <title> az kell...
40

ez miért gond?

zila · 2007. Szep. 25. (K), 19.13
Megoldható a linkelés is és a title módosítása is...
41

Nade hogy?

nrbii · 2007. Szep. 25. (K), 19.44
Persze hogy megoldható, de még nem tudom hogy hogy... Tudnál nekem segíteni?
42

jaj :)

zila · 2007. Szep. 25. (K), 23.18
Ez a topik pont erről szólt :) - kivéve a title-t ami kb ennyi js: document.title = "oldal címe"