Autor Zpráva
MartinK91
Profil
Zdravim pánové a dámy,

pro někoho možná banalita, pro mě oříšek.
Mám klienta, který si přeje vertikální i horizontální obrázkové menu s tím, že pod horizontálním menu bude obsah dané sekce z menu a bude se pouze přepínat po kliknutí na položku v menu obsah stránky.
Napadla mě tedy variace tagu <in frame> s odskoky, aby byla stránka centrovaná, protože tam mám ještě v pozadí logo s tím, že bude velmi jednoduché vytvořit pouze ,,další" stránky s obsahem a načítat je pouze jako vložené odkazy do indexu.
Krásně mi to vyšlo, ale mám teď jeden problém a nevím si rady, zasílám moje řešení, pod kterým je i můj dotaz.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="barvy.css">
<title>Na Šancích</title>
<link rel="shortcut icon" href="ikona.ico">
</head>
<body>

<div id="horni-menu">
  <iframe style="margin-left: 200px; margin-top: 100px" src="horni_menu.html" width="782" height="146" frameborder="0"></iframe>
</div>
<div id="leve-menu">
  <iframe style="margin-left: 200px" src="leve_menu.html" width="165" height="766" frameborder="0"></iframe>
  <iframe src="obsah.html" width="610" height="766" frameborder="0"></iframe>
  <iframe src="prave_menu.html" width="165" height="766" frameborder="0"></iframe>
</div>

<!-- Copyright -->
<h5><a href="mailto:martinkral91@email.cz">Martin Král</a><br>&copy; 2012 Na Šancích<h5>
<!-- Copyright -->
</body>
</html>

Jak mám tedy momentálně udělat, aby po kliknutí na položku v menu (např. v horni_menu.html - Kontakty) se stránka načetla pouze obsahově, tím se tedy rozumí, aby se pouze změnil obsah.html a stránka se zachovala.
Problém je v tom, že pokud kliknu na položku v některém z menu, logicky se mi načte obsah v daném <in frame>.
Potřebuji tedy z <in frame> např horni_menu.html dostat následný obsah po kliknutí pro položku menu do <in frame> obsah.html.
Případně nešlo by to menu udělat pomocí <div>?

Děkuji za Vaše rady!
Trejpa
Profil
MartinK91:
Nemyslím si, že je použití iframe vhodné na načítání obsahu, stránka pak není dohledatelná jako komplet (vnitřky rámů osiří) a nedá se na konkrétní podstránku ani odkázat. Yuhů doporučoval vytvářet stránky s iframe tak, že každá stránka bude mít svůj obsah a jen menu se bude načítat do rámu, čímž zmíněné problémy zmizí. Ve stránce s menu bude navíc <base target=_parent>.

Kdyby sis přečetl o iframe, tak bys zjistil, jak je to s odkazy. Do vnořeného odkazu můžeš kromě adresy dát parametr target, který určuje, v čem se odkaz otevře. No a rám má zase parametr name, který ho pojmenovává a určuje tak pro odkazy cíl.

<iframe src="obsah.html" name=ramecek …></iframe>
<a href=jiny-obsah.html target=ramecek>jiné</a>

Pokud by do daného rámu měly vést všechny odkazy na stránce s menu, tak lze místo vypisování targetů všem odkazům použít značku <base target=ramecek> v hlavičce.
MartinK91
Profil
Rád bych načítal obsah stránky normálně a pouze okolí (vertikální, horizontální menu a sponzori) načítal kolem obsahu pomocí <in frame>, ale bohužel se mi nepodařilo text zarovnat tak, aby pasoval přesně tam, kde je teď <in frame> obsahu. Buď se mi posune celý rám, nebo text je úplně mimo...

Pokud jsem tě tedy s tím kódem správně pochopil...

Momentálně se vážou 3 věci dohromady...
Mám stránku, kde po načtení vyběhne 4x <in frame> vertikální, horizontální menu, obsah a pravý sloupec pro sponzory.
Pokud chci tedy po kliknutí na obrázek v horizontálním menu pouze změnit text (obsah) v daném <in frame>, který představuje obsah.html stránky, jak mám tedy přesněji definovat nastavení jednotlivých .html ?

Momentálně mám horni_menu.html + prave_menu.html + leve_menu.html (zde se nachází pouze obrázky v <body> s odkazem typu >)

<script>
promenna4 = new Image();
promenna4.src = "obrázky/hotel_on.jpg";
</script>
<div>
<img src="obrázky/hotel_off.jpg" alt="hotel" border="0" width="150" height="125" onmouseover="this.src=promenna4.src" onmouseout="this.src='obrázky/hotel_off.jpg'">
</div>

... dále mám obsah.html, kde je pouze daný text, toto rozdvojim, vytvořim další obsah pro možnou sekci...
... dále mám index.html, který jsem napsal nad tvým příspěvkem

Mám to tedy udělat tak, že edituju index.html, kde přidám rámečku obsahu name + horni_menu.html, kde přidám každému obrázku pouze target na name?

Děkuji.

PS: Máš nějaké řešení, které by bylo lepší pro složení vertikálního, horizontálního menu s obsahem?
Zasílám ti obrázek toho, jak web bude zhruba vypadat...

http://www.lk-system.cz/
ahoj
Profil *
MartinK91:
Rád bych načítal obsah stránky normálně a pouze okolí (vertikální, horizontální menu a sponzori) načítal kolem obsahu pomocí <in frame>

Proč?
Jsou speciální případy, kdy to má opodstatnění, ale je jich málo. Tvůj web takovým případem není. Přečti si tohle: Problémy rámů
MartinK91
Profil
Děkuji Vám za rady, už jsem na to přišel =)))
Trejpa
Profil
Příklad: Obrázkové menu okolo obsahu pomocí iframe
MartinK91
Profil
V čem je tvoje řešení lepší, než moje?
Opravil jsem to díky tomu targetu (děkuju ti)...
Trejpa
Profil
MartinK91:
V čem je tvoje řešení lepší, než moje?
Vždyť jsem to už napsal, v příkladu i výše [#2]. Obsah stránky není zanořen v nějakém rámu, ale je součástí stránky na nejvyšší úrovni. Tím se zruší téměř všechny nevýhody rámů.

Například vyhledávač:
Vyhledám si třeba „lesopark u Hostivařské přehrady“. Náhodou narazím na tvoji vnořenou stránku s obsahem. A co se dozvím? Skoro nic, je to sirotek. Nevidím název, nevidím menu. Nemám tě jak kontaktovat, na co kliknout. Odcházím.

Bude-li text součástí stránky, vyhledávač najde celou stránku. V ní může být vnořené menu. Vše se načte, vše se vyhledává. I kdyby se vyhledalo samotné menu, kliknutím je načtena požadovaná stránka.
MartinK91
Profil
Hotovo, děkuji mockrát =)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: