Stránka 1 z 1
JavaScript - co mi může chybět ?
Napsal: pon 28. bře 2005, 19:57
od TomCZ
Ahoj, nevíte, čím může být způsobeno to, že mi nefunguje tento scripet:
http://www.jsmadeeasy.com/javascripts/S ... %20Script/ ???
Objeví se jen nápis "Initializing ..." a dále se ni neděje. Před cca dvěma lety jsem tento script používal ä chodil dobře. Může mi chybět nějaká podpora JS ?
Napsal: pon 28. bře 2005, 20:05
od TomCZ
Tak doplňuji, rozchodil jsem ho v IE6, ale nejde mi v FF 1.0.2
Napsal: pon 28. bře 2005, 22:53
od k23
Chybí podpora DOM, Document Object Model. Je to specifikace, která v zásadě sjednocuje používání Javascriptu tak, aby byl v pořádku interpretován pokud možno všemi prohlížeči.
Napsal: pon 28. bře 2005, 23:08
od TomCZ
Aha, díky, je možné to nějak doinstalovat jako plugin, či nějak podobně ?

Napsal: úte 29. bře 2005, 00:42
od k23
TomCZ píše:Aha, díky, je možné to nějak doinstalovat jako plugin, či nějak podobně ?

ne, bohužel

je potřeba takový kód přeprogramovat podle specifikace DOM. Zkusím ti to nějak vysvětlit.
Je potřeba psát tak, abys jednoznačně mohl přistupovat k prvkům stránky a ty nějak ovlivňovat (např. při přejetí myši něco zmizet nebo tak). Ale jak? No, právě tohle se snaží řešit DOM, v podstatě jde o to, že každý dokument (rozuměj stránka) je vlastně strom:
Document
+--- nadpis
+--- odstavec
+--- obrázek
+--- odstavec
atd...
pokud postavíš stránku takhle, je to nejen moderní, přehledné, ale dáváš najevo strukturu dokumentu, kterou využiješ například při stylování v CSS a nebo právě u Javasriptu. Pokud každému prvku stránky přidáš atribut ID, což je v tomhle případě
jednoznačné jméno prvku (nesmí se tedy opakovat, můžeš k němu přistupovat v Javascriptu přes metody, které vrací referenci podle předaného ID. Je to vlastně potom takové objektové programování.
Příklad:
Kód: Vybrat vše
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xml:lang="cs" lang="cs" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Test</title>
<script charset="utf-8" type="text/javascript">
/* <![CDATA[ */
function hide(ID) {
objekt = document.getElementById(ID);
objekt.style.display = "none";
}
function show(ID) {
objekt = document.getElementById(ID);
objekt.style.display = "block";
}
/* ]]> */
</script>
</head>
<body>
<div id="prvni" onmouseover="hide('druhy'); return true;" onmouseout="show('druhy'); return true;">
Ahoj, jsem nějaký obsah.
</div>
<div id="druhy">
Ahoj, jsem nějaký obsah.
</div>
</body>
</html>
Napsal: úte 29. bře 2005, 09:54
od TomCZ
Jinými slovy, ten script by musel být přepsán tak, aby podporoval i FF ?
Napsal: úte 29. bře 2005, 11:31
od zombux
TomCZ píše:Jinými slovy, ten script by musel být přepsán tak, aby podporoval i FF ?
jednak skript, jednak kód stránky. aby to bylo navzájem "kompatibilní". skript musí vědět ke kterým prvkům stránky přistupuješ, a naopak
Napsal: úte 29. bře 2005, 11:56
od TomCZ
No, tak to asi nebude nic pro mne. Domluvím se s kámošem, který mi se stránkami pomáhá.