Autor Zpráva
tomba
Profil *
Ahoj, potřeboval bych radu ohledně JavaScriptu:-) Mám odstavec textu (popis výrobku), který potřebuji načítat do dvou html stránek - do jedné celý, do druhé pouze část. Když to udělám pomocí proměnné přímo v dané stránce, funguje to.
příklad:

<script>
var all = "celý text......";
document.write(all);

var part = "část textu.......";
document.write(part);
</script>

<p>

<script>
(all);
</script>


<P>
<script>
(part);
</script>

Nevýhodou tohoto řešení je, že ten zápis scriptu s textem musím vložit do každé html stránky. Chtěl bych to vylepšit, uložit celý text do jednoho externím scriptu a z něj načítat pouze části do html stránek. Nevím jestli v JS existují nějaká návěstí nebo fce, kterou lze vložit pouze část textu. Prosím poraďte nějaké řešení v JS. V PHP mi to je jasné, ale potřebuji řešení v JS a s komentářem jako pro lamu:-))) Předem díky.
Joker
Profil
Když už to musí být v JS, tak proč si prostě neuložit ty texty do nějakého pole v externím skriptu?

Jinak pokud ten částečný text je například začátek toho celkového textu, asi bych to udělal tak, že budu mít uložený zvlášť začátek a zbytek a pak vypíšu buď jen začátek, nebo obojí.
Něco jako:
var text = new Array()
text["jednicka"] = new Array("začátek prvního"," konec prvního");
text["dvojka"] = new Array("začátek druhého"," konec druhého");

a potom třeba funkci:
function getText(idText, cely){
if(!text[idText]) return(false);
if(cely) return(text[idText][0] + text[idText][1]);
else return(text[idText][0])
}

Takže například getText("jednicka") vrátí "začátek prvního", getText("dvojka",true) vrátí "začátek druhého konec druhého"
Pokud ty texty takhle skládat nelze, stačí místo částečných textů uložit kompletní a z řádku if(cely) return(text[idText][0] + text[idText][1]); vymazat tu tučně označenou část.

No a tohle celé by se potom uložilo do nějakého .js souboru, který by se přilinkoval na každé stránce.
tomba
Profil *
Moc děkuju za obsáhlý návod a vysvětlení, muselo to dát spoustu práce:-)) Přesně něco takového jsem měl na mysli. Proměnné i fce jsem uložil do externího js, jen mi ještě prosím poraď jak to přesně nalinkovat, na tom jsem taky před tím ztroskotal. <script src="tvuj.js"></script> a co dál?
Díky moc.
tomba
Profil *
jokere, pokud toto budeš číst, mohl bys mi prosím pomoct s tím přilinkováním? Díky předem. Samozřejmě přivítám radu od kohokoliv:-))))
Joker
Profil
Sorry, nějak to téma zmizlo v propadlišti, tak odpovídám až teď.
Co dál, to už záleží na tom, jak to konkrétně má na stránce vypadat.

Může to být například takhle:
popis.js:
text["kladivo"] = new Array("Tohle je kladivo."," Váží půl kila");
(...)
potom ta funkce getText výše

A na stránce- jednoduchý příklad:
<button onclick="javascript:alert(getText("kladivo", true))>Zobrazit popisek</button>
- při kliknutí na tlačítko vyhodí okénko s textem "Tohle je kladivo. Váží půl kila"

Další příklad:
do souboru popis.js bych si připsal ještě další funkci:
function nastavPopis(prvek,text,cely){
if(document.getElementById && document.getElementById(prvek)) document.getElementById(prvek).innerText = getText(text,cely)
}
...První parametr je ID prvku, druhý ID popisku a třetí jestli celý nebo částečný popisek. Funkce nahradí vnitřek daného prvku textem popisku.

No a potom na stránce:
<p id="popisek">Pro zobrazení popisku musí Váš prohlížeč podporovat Javascript</p>
<script type="text/javascript">
nastavPopis("popisek","kladivo");
</script>

Výsledkem tohohle bude (pokud je zapnutý Javascript):
<p id="popisek">Tohle je kladivo.</p>

Případně kdyby se zavolalo:
nastavPopis("popisek","kladivo",true);
tak:
<p id="popisek">Tohle je kladivo. Váží půl kila</p>
tomba
Profil
díky jokere, ten druhý příklad vypadá dobře, vyzkouším to.:-))
Toto téma je uzamčeno. Odpověď nelze zaslat.