Stránka 1 z 2

Menu v HTML do externího JavaScript souboru

Napsal: 24 říj 2010 23:23
od Fucza
Stránek je moc a proto bych chtěl mít na každé stránce jen
<script type="text/javascript" src="menu.js"></script>.
No a změny v menu dělat jen v jednom .js souboru. Menu je však psané v html a napozicované css. Potud vše OK.
Je jasné, že nebude dostatečně plně funkční jen CTRL+C a CTRL+V a změny v css se budou muset udělat.Domníval jsem se však, že kód html může být bezproblémů součástí js souboru. Mýlím se?
Soubor JavaScriptu by obsahoval jen: <ul><li>položka</li> atd.
Nebo budu muset celé menu pořešit úplně jinak? Pomocí JavaScriptu bez HTML? Možné je taky, že někde mám triviální chybu. Překvapilo mě totiž, že Pspad nijak nezvýrazňuje (a nepáruje) tag <script>, ale možná to je jen nastavením. Zkoušel jsem totiž alert a to vyskočilo, tak v HTML by to mělo být dobře.

Re: Menu v HTML do externího JavaScript souboru

Napsal: 25 říj 2010 08:41
od Speed_dead
Na mým webu, kde používám hotové řešení Xara, tak mám menu jako jeden java řádek a zbytek je ve dvou externích souborech. Stránky jsou dosti amatérské, jelikož neumím ccs,

Kód pro javascript mám vložený do webu takto:

<script src="Webgraphic/Buttons/xaramenu.js"></script><script Webstyle4 src="Webgraphic/Buttons/tlacitko.js"></script>

Re: Menu v HTML do externího JavaScript souboru

Napsal: 26 říj 2010 15:26
od CZechBoY
pokud je k dispozici PHP(alespoň verze 4 :D) tak doporučuju pročíst funkci include nebo require, teď přesně nevim jakej je mezi nima rozdíl, ale oboje by ti měli pomoct(provozuju na všech webech)

Re: Menu v HTML do externího JavaScript souboru

Napsal: 26 říj 2010 18:32
od Speed_dead
Include pro vložení standartních prvků mýho webu plánuju taky, akorát jsem to nechtěl moc zamotávat.

Re: Menu v HTML do externího JavaScript souboru

Napsal: 26 říj 2010 18:50
od Myloš
Javascript pro něco takového nedoporučuji. Mírně paranoidní jedinci si ho vypínají.
Můžeš-li, použij PHP. Nemůžeš-li, pak nacpi menu do <iframe> (nikdy naopak – obsah stránky v <iframe> je stejně nepřístupná ohavnost jako <frameset>). Oboje sfunguje spolehlivě.

Re: Menu v HTML do externího JavaScript souboru

Napsal: 27 říj 2010 13:29
od Fucza
Mám to takové to vysouvací menu, pomocí ps. hover. Vím, že mi to nejede v IE6, ten fígl s hoiver.htc se mi ani na několikrát nepovedl. Chtěl bych to udělat co nejjednodušeji, abych nemusel nic moc měnit. Na nějakou razantnější změnu se chystám až bude víc času. Nejjednodušší by bylo, jen vyjmout ze stránek tu část kódu, kde je menu (celý div) a plácnout to do nějakého samostatného souboru. Nejlepší by byl nějaký další HTML soubor, na který by to jen odkazovalo:-) Škoda, že nejde.Potřebuju totiž přidat jednu položku do menu a fakt se mi nechce to dělat 50x.

Re: Menu v HTML do externího JavaScript souboru

Napsal: 27 říj 2010 14:42
od Speed_dead
Použij funkci include, jak radil CZechBoY. To je přesně to co potřebuješ. Prohlížeč si odskočí na externí kód a pak se vrátí a bude se to tvářit stejně, jako by si měl vložený kód do jednotlivých html.

http://tvorba-webu.zdarek.com/php/include.php

Re: Menu v HTML do externího JavaScript souboru

Napsal: 27 říj 2010 15:16
od Fucza
OK. Moc díky. Jen ještě pár stupidních dotazů:-)
Můj hosting PHP5 má. Zkusím. A CCS to najde, i když ten kus kódu bude ukryt v PHP skriptu? Nebo musím u tohoto:
#menu ul li:hover ul
{
visibility: visible;
}

něco dopsat?
Respektive, kde by měl být odkaz na ten script? V místě, kde by menu mělo být, nebo v hlavičce? (asi před odkazem na css)



edit: Zatím nevím proč, ale s tím include mi to nechce jet.

Re: Menu v HTML do externího JavaScript souboru

Napsal: 27 říj 2010 20:38
od Fucza
Sorry, že needituju, ale lámu si s tím hlavu už dlouho, třeba se ještě někdo chytí.
Někde musím dělat nějakou triviální chybu, jinak si to neumím vysvětlit.
Místo, kde bylo menu jsem vložil příkaz include (pro jistotu jsem ho nechal i v divu, ale zkoušel jsem ten div dát máznout a uzavřít to až ve skriptu.
Takto:
<div id="menu">
<? include "menu.inc"; ?>
</div>

No a soubor menu.inc obsahuje pouze
<ul>
<li><a href="index.html">Úvodní stránka</a></li>
atd.
</ul>


Zkoušel jsem stále něco měnit - souboru dát příponu .php, pozměnit syntaxi na <?php include "menu.inc"; ?> a nic to není platné.
Hosting mám u C4, mělo by to být na serveru s PHP 5.3 ( na jiné html stránce mi jede posílání dat z formuláře na mail /pomocí jejich skriptu/)
Místo menu jsem vyzkoušel jen obyčené echo v tom souboru menu.inc (menu.php):
<?php
echo "START";
?>

a vůbec nic!!!
F5 jede na plný kotel (neznovunačtení stránky jako triviální chybu jsem si vyloučil sám:-) )
Zdá se mi, jako by to vůbec nereagovalo.
Pls. Má někdo nějaký nápad, proč to nefunguje?

//edit: je to PHP 5.2 serveru

Re: Menu v HTML do externího JavaScript souboru

Napsal: 31 říj 2010 22:03
od CZechBoY
nevim co kde píšeš ale když v souboru 1.php dáš kod <?php include "menu.php"; ?> a v souboru menu.php bude <?php echo "kod z menu.php"; ?>
tak to nic nevypíše? tak to máš asi špatnýho webhostera, protože tohle jde i na mým linux pc :lol:

Re: Menu v HTML do externího JavaScript souboru

Napsal: 01 lis 2010 15:21
od Fucza
Ale vypíše:-) Už jo. Nějak sem žil v přesvědčení, že php skripty se volají stejně jako třeba skripty na straně prohlížeče - JS) ze souboru .html . Nějak sem si neuvědomil, že to musí být stranka.php (a ne stranka.html).
Jak je to potom s validací html kódů? Projedeme ti validator.w3.org?

Re: Menu v HTML do externího JavaScript souboru

Napsal: 01 lis 2010 16:43
od CZechBoY
nevim co myslíš... validator.w3.org (.cz) kontroluje jen HTML, PHP se provede na straně serveru ještě dřív než to uživatel dostane k sobě ...