Autor Zpráva
JarinCZ
Profil *
Zdravím všechny,
mám stránky řešené přes framy stylem hlavička přes celou šířku stránky a pod tím vlevo sloupec a hlavní obsah přes zbytek stránky. V hlavičce mám odkazy, které otevírají nové stránky ve sloupci i obsahu a zatímco v Opeře a IE je vše bez problémů, tak Mozilla prostě vůbec nereaguje. Napadá Vás v čem je problém a jaké je řešení?
např. v hlavičce stránky mám obrázek s napisem "Odkazy", který změní barvu, když je na něm myš a po kliknutí se změní sloupec vlevo a obsah - a v Mozille se nestane vůbec nic.

kus kodu:
<TD><A href="#" MTARGET="levemenu; vitr" MHREF="lmodkazy.html; odkazy.html">
<IMG onMouseOver="javascript:src ='lista/odkazy_on.gif'" onMouseOut="javascript: src='lista/odkazy_off.gif'" height="23" alt="" src="lista/odkazy_off.gif" width="100" border="0">
</A>

Pokud by bylo třeba víc detailů, tak upřesním, ale nějak jsem v koncích. Díky všem

PS: Nebráním se zrušit rámce kvůli Mozille, ale chtěl bych zachovat styl stránek a rámce mi na to vyhovují, takže jedině, že by byla hodně jednoduchá pomoc v předělání na jiný způsob:-).
Miloš
Profil
Něco mi asi uniklo – co je to MTARGET a MHREF?
JarinCZ
Profil *
No vidím to jako chybu při psaní na klávesnici :-). A a M je přece jen na klávesnici vedle sebe... Vyzkouším a dám vědet zítra, protože dnes už jsem jinde. Tenhle kus jsem totiž nedělal přímo já, ale kamarád co mi pomohl na začátku a když to fungovalo v IE a Opeře, tak jsem to považoval za správné a nevrtal v tom jestli MTARGET vůbec jako příkaz existuje. Díky za "nakopnutí".
JarinCZ
Profil *
Tak bohuzel neni to tak jednoduche, jak jsem myslel. MTARGET a MHREF se vztahuje k Java skriptu, který asi Mozilla nekousne. Co tedy použít aby odkaz z hlavicky menil levy sloupec i obsah, když chci hlavičku nechat stále stejnou? Diky za pripadnou pomoc.

<SCRIPT LANGUAGE="JavaScript">function checkElementTree(el, strTag) {
while ("HTML" != el.tagName) {
if (strTag == el.tagName)
return el;
el = el.parentElement;
}
return null;
}

function multiJump() {
var el = checkElementTree(event.srcElement, "A");
if (null != el) {
if ((null != el.getAttribute("mhref")) &&
(null != el.getAttribute("mtarget"))) {
event.returnValue = false;
var mhref = new Array();
var mtarget = new Array();
mhref = el.getAttribute("mhref").split("; ");
mtarget =
el.getAttribute("mtarget").split("; ");
if (mtarget.length == mhref.length)
for (var intLoop = 0; intLoop < mtarget.length;
intLoop++)
if (null != parent[mtarget[intLoop]])
parent[mtarget[intLoop]].location.href =
mhref[intLoop];
}
}
}
</SCRIPT>
JarinCZ
Profil *
Dotaz trochu jinak... Jak nastavím, že jeden odkaz udělá více věcí? Viz stále to samé. Jeden odkaz v hlavičce, aby otevřel novou stránku v podmenu a zároveň jinou v obsahu a hlavička aby zůstala stejná?
Jde to? Nebo to udělat spíše, aby se v hlavičce otevíralo po kliku podmenu a z něj pak stránka do obsahu? Asi by to šlo, ale podmenu nebude stále k dispozici... Děkuji za rady
Miloš
Profil
To že odkaz otevře víc stánek (rámů) naráz sie HTML neumí, na to opravdu musíš použít javascript, ale lze to i lidštějším způsobem než přes neexistující atributy. http://kesolim.sweb.cz/TMP/ramce/
JarinCZ
Profil *
Zkusim kouknout, ale předem děkuji i kdyby mi to nepomohlo. Hlavní problém - tedy Mozilla s tím pracuje bez problémů?
Miloš
Profil
JarinCZ
Mozilla s tím pracuje bez problémů?
Stačí vyzkoušet ;-)
Ano, funguje bez problémů (nefunguje to jedině, když si paranoik vypne javascript, ale s tím se nedá nic dělat).
Celá finta spočívá v tom, že 1) funguje normální <a href> (první odkaz) a 2) zbylé odkazy otevírá javascript přes onclick="location.href='stranka.html'.
Něco takového mi fungovalo už v dávných dobách šíleného Netscape 4.
JarinCZ
Profil *
Pravda staci se na tu stranku podivat v Mozille a neptat se. Ta moje hlava :-). Jako řešení to vypadá dobře. Jdu to zkusit napasovat na ty moje stránky. Děkuji
JarinCZ
Profil *
Úspěch. Díky, díky. Přesně tohle je akorát.
Miloš
Profil
Rádo se stalo

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

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