ugrás a tartalomhoz

Html paraméter átadás php nélkül

Susyking · 2012. Nov. 19. (H), 10.35
Segítséget szeretnék kérni! - SEGÍTSÉG!!!

Van egy szépen kidolgozott oldalam. Képek téma szerint csoportosítva. Azt szeretném elérni, hogy egy adott képre kattintva az adott képhez tartozó további elemek jelenjenek meg.
Manuálisan már működik ha direktbe beírom az adott könyvtárat, de egy változóból szeretném kiírni.
Érthetőbben:
Van két htmlem az egyik böngészi a csoportokat, a másik megjeleníti a további képeket. Ez mükszik.
Azt szeretném, hogy az első html egy képére kattintva a második html adott könyvtárából töltse be a képeket.
Emiatt az egy rutin miatt nem akarok php-t készíteni. Ezer oka van az egyik, hogy nem tartok még ott. :)
 
1

Generáld le

Poetro · 2012. Nov. 19. (H), 10.48
Akkor van lehetőség, hogy előre legenerálod a HTML-eket. Erre létezik tucatnyi megoldás. Vagy PHP helyett használhatsz más szerver oldali nyelvet. Illetve amennyiben az Apache a webszervered, akkor annak a könyvtárlistázását is lehet sablonozni.
4

Köszönöm. Nem tűnik

Susyking · 2012. Nov. 19. (H), 11.03
Köszönöm.
Nem tűnik elegánsnak tíz-egynéhány html elkészítése.
Létezik e egy olyan globális változó például amit beállítok az első htmlben és azt látja a második html?
6

Javascript, cookie

bonga · 2012. Nov. 19. (H), 11.16
Ismét a javascript-et tudom javasolni, "globális változó"-nak meg használj cookie-t. Amit az egyik html oldalad letesz, azt a másik megkapja, csak javascript kell a cookie letételhez is és a kiolvasáshoz is.
5

Miért?

Poetro · 2012. Nov. 19. (H), 11.16
Nem tűnik elegánsnak tíz-egynéhány html elkészítése

Léteznek olyan weboldalak, ami több tízezer előre generált HTML-ből állnak.
Nem tudom, neked egyáltalán miért kell két HTML. Ablakok, frame-ek, iframe-ek között lehet kommunikálni, de nem szép, nem elegáns, jóval nagyobb hack, mint legenerálni pár tucat fájlt.
7

Köszönöm. Elsőre megpróbálom

Susyking · 2012. Nov. 19. (H), 11.30
Köszönöm.

Elsőre megpróbálom a cookie-val megoldani. Szerintem menni fog.
Végső esetben marad a htmle-ek gyártása. Nem tetszik az erőforrás pazarlásos megoldása. Ordít belőle a redundancia. Szóval tényleg csak végső esetben.
8

Erőforrás pazarlása?

Poetro · 2012. Nov. 19. (H), 11.59
Mit jelent számodra az erőforrás pazarlása? Az hogy minden egyes felhasználónak le kell generálni a tartalmat majd minden egyes látogatáskor, vagy csak egyszer kell legenerálni? Vagy hogy a több terabyte-nyi tárhelyre felraktunk 4kb adatot?
2

JavaScript

janoszen · 2012. Nov. 19. (H), 10.53
Alternativakent JavaScriptet is hasznalhatsz, aminek megadod egy listaban, hogy melyik kepeket mre kell megjeleniteni.
3

Ez jó iránynak tűnik, csak az

Susyking · 2012. Nov. 19. (H), 11.00
Ez jó iránynak tűnik, csak az a problémám, hogy az első htm tudja, hogy melyik képre kattintottam, de a második ezt honnan látja?
10

Nem kell

janoszen · 2012. Nov. 19. (H), 15.45
Nem kell ujratoltened. JSON-ba beteszed a keplistadat es dinamikusan jelenited meg vagy rejted el.
9

Nem biztos, hogy erre gondoltál

Gixx · 2012. Nov. 19. (H), 15.03
...de én úgy csinálnám meg, hogy részben vagy egészben javascripttel írnám meg az oldalt:
Adva van az index.html ami a csoportokat böngészi. Egy javascript tömbben felsorolod a csoportokat. Egy for ciklussal legenerálod a megfelelő HTML listát:

// nincs tesztelve, sok éve nem írtam így JS-t, ez csak úgy hasraütés
var categories = ['nature', 'buildings', 'fun'];

for (var i = 0; i < categories.length; i++) {
   var div = '<div class="album"><a href="album.html?category=' + categories[i] + '"><img src="categories/' + categories[i] + '/tn.jpg"></a></div>';
   $('body').html($('body').html() + div);
}

És akkor az album.html-ben felolvasod a képeket a paraméter alapján:

// nincs tesztelve, sok éve nem írtam így JS-t, ez csak úgy hasraütés

var getParam  = window.location.search.replace( "?", "" );
var paramsArr = getParam.split('&');
var params    = {};

for ( var i = 0; i < paramsArr.length; i++) {
    var tmparr = paramsArr[i].split("=");
    params[tmparr[0]] = tmparr[1];
}

// és akkor teletömöd a body-t a képekkel:
// tegyuk fel, hogy max 100 kep lehet
for (var i = 1; i <= 100; i++) {
  var IMG = document.createElement('img');
  img.src = 'categories/' + params.category + '/' + i + '.jpg';
  // csak ha van olyan kep az adott kategoriaban, akkor generaljuk bele a body-ba
  img.onload = createImage(img);
} 

function createImage(img) {
    $('body').html($('body').html() + img);
}

Ez egy gyors, elméleti, nem kidolgozott (és nem is tesztelt) megoldás, csak indító ötletnek szánom.

Ha tetszik, teszteld, debugold, fejleszd.
11

Azért ilyet ne írjunk

Poetro · 2012. Nov. 19. (H), 16.44
Azért ilyet ne írjunk már.
$('body').html($('body').html() + img);

Van megfelelő metódus rá, az pedig az append.
A for ciklusban pedig inkább építsünk egy nagy stringet, amiben benne van az összes div, majd azt adjuk hozzá append-del az elemhez. Persze a fentiekhez jQuery vagy azzal kompatibilis keretrendszer szükséges, bár erre nem láttam hivatkozást.
12

mondtam, hogy hasraütés :)

Gixx · 2012. Nov. 21. (Sze), 09.18
Persze ettől még jogos az észrevétel :)