Böngészőfüggetlen JavaScript
Sziasztok
Nemrég találtam egy olyan oldalt, amihez le kellett szednem az Opera nevű böngészőt. De ha már lent volt kicsit próbálgattam.
De amikor megnéztem az oldalam (amit itthon csinálok tanulás céljából) nem működött benne a belerakott Javascript, pedig IE-vel simán ment.
Itt a weblaboron meg azt vettem észre, hogy a "Perl 6 alapjai I" cikk alján lévő képek IE-ben semmit nem csinálnak, viszont Operaban ha ráviszem az egeret kicsit előrrébb jönnek és nagyobbak lesznek.
Az én javascriptemben egy függvény van létrehozva és az a használat előtt egy sima-el van beszúrva. Majd a függvény ilyen módon van használvaHogy tiszta legyen: képek scroll-oznak jobbról balra egy kis négyzet alaku részben amit <MARQUEE>-val oldottam meg (ez működik is mindegyik böngészővel). A Js fv. feladata, hogy a képet átlátszóvá tegye ha nincs rajt az egér és ha rámegyek egérrel, akkor azátlátszóságot visszaállítja 100%-ra és megáll a scroll.
Jó hoszzúra sikerült a bevezető :-)
A kérdés az volna, hogy lehet-e a Js-t böngészőfüggetlenné tenni PHP-ben vagy esetleg máshogy kéne beszúrnom.
Vagy csak a Js-ben tudom megoldani.
Egyáltalán mitől függ, hogy egy Js megy-e az adott böngészőben vagy sem?
■ Nemrég találtam egy olyan oldalt, amihez le kellett szednem az Opera nevű böngészőt. De ha már lent volt kicsit próbálgattam.
De amikor megnéztem az oldalam (amit itthon csinálok tanulás céljából) nem működött benne a belerakott Javascript, pedig IE-vel simán ment.
Itt a weblaboron meg azt vettem észre, hogy a "Perl 6 alapjai I" cikk alján lévő képek IE-ben semmit nem csinálnak, viszont Operaban ha ráviszem az egeret kicsit előrrébb jönnek és nagyobbak lesznek.
Az én javascriptemben egy függvény van létrehozva és az a használat előtt egy sima
include("/js/javascript.js");
echo "<A href=\"#\"><IMG onmouseover=függvény(paraméterek) onmouseout=függvény(paraméterek) src=\"kép\" border=0></A> ";
Jó hoszzúra sikerült a bevezető :-)
A kérdés az volna, hogy lehet-e a Js-t böngészőfüggetlenné tenni PHP-ben vagy esetleg máshogy kéne beszúrnom.
Vagy csak a Js-ben tudom megoldani.
Egyáltalán mitől függ, hogy egy Js megy-e az adott böngészőben vagy sem?
jajj
js nek mi koze a phphez?
marquee!? phh...
attol, hogy ismeri -e az adott bongeszo a scripted minden reszet.
javaslom kapcs be a js erorok figyeleset, es latod mi a hiba.
--
üdv: kmm... ( http://kmm.hu )
Muti a js-t, vagy az oldalad
a sima html beszúrás miért nem jó?
Célszerű idézőjelbe tenni a html paramétereit (onMouseOver="fgv(params);").
Javascriptek debugolására nagyon jó a Venkman nevű firefox/mozilla extension.
üdv,
Zila
Válaszok...
<!--
nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
function nereidFade(object, destOp, rate, delta) {
if (!document.all) return
if (object != "[object]") {
setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
return;
}
clearTimeout(nereidFadeTimers[object.sourceIndex]);
diff = destOp-object.filters.alpha.opacity;
direction = 1;
if (object.filters.alpha.opacity > destOp) {
direction = -1;
}
delta=Math.min(direction*diff,delta);
object.filters.alpha.opacity+=direction*delta;
if (object.filters.alpha.opacity != destOp) {
nereidFadeObjects[object.sourceIndex]=object;
nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
}
}
//-->
</SCRIPT>
De hozzá kell tennem ezt nem én csináltam csak kiszedtem egy oldalból és mindössze lecsupaszítottam amire nekem kell.
Ez már a használata az oldalon.
echo "<TR><TD vAlign=top align=left width=395 height=94 background=\"theme/pictures/header-logo1.gif\">";
echo "<DIV id=layer1 style=\"Z-INDEX: 1; LEFT: 524px; WIDTH: 256px; POSITION: absolute; TOP: 50px; HEIGHT: 55px\">";
echo "<MARQUEE onmouseover=this.scrollAmount=0 onmouseout=this.scrollAmount=3 scrollAmount=3>";
include("js/scroll1.js");
echo "<A href=\"#\"><IMG onmouseover=nereidFade(this,100,20,10) style=\"FILTER: alpha(opacity=30)\" onmouseout=nereidFade(this,20,5,5) alt=\"Ez itt az alt szöveg\" src=\"pictures/Anastasia-k.jpg\" border=0></A> ";
echo "</TD></TR></TABLE>";
A Js-t azért úgy szúrom be, mert gondoltam, ha lesz még akkor jobb ha külön tartom őket a könyebb átláthatóság miatt. Ezért bekerültek egy /Js könyvtárba és ha kell onnan szúrom be. Így ha változtatom akkor elég itt és nem kell mindenhol összevadászni.
A MARQUEE-t a táblázatban használom, az csinálja a scroll-t.
Amúgy a HTML paraméterek idézőjelekben vannak csak a kérdésnél nem raktam közé (sorry)
Ja és felraktam amit csináltam aki akarja nézze meg. Nem működik még minden rajta, de lassan és biztosan fog :-)
A cím: http://vampireccg.uw.hu
Ja azt még hozzáteszem, hogy a Js-en kívül (amit írtam is hogy nem az én művem csak átalakítottam) mindent én csináltam. És kezdek rá büszke lenni, mert a felmerülő hibákat, ha idővel is de megoldom. :-)
(A könyvtár és fájlrendszernek egy kicsit PHP-Nuke beütése van, mivel annak portálnak nézegettem sokat a felépítését)
Ja és sorry, hogy a kódok nincsenek színezve, de mióta azt a béna bakit csináltam, mert nem jelezte a szerkesztőm, azóta visszatértem notepad-ra.
Majdnem elfelejtettem mondani, hogy a scroll a jobb felső sarokban van, bár gondolom ez elég egyértelmű :-)))))))
böngészőfüggetlenség
Szóval böngészőfüggetlen kódoláshoz először is tisztában kellene lenni azzal, hogy mi az az alap szabvány, amit minden böngészőtől elvárhatsz, és azt kellene követni. Ha azzal nem tudsz valamit megoldani, akkor érdemes külön böngészőspecifikus kérdésekbe menni. A marquee például nem szabványos. A probléma már itt kezdődik. A böngészőfüggetlen JavaScript megoldásokhoz az ECMAScript és a DOM a kulcsszavak (innen pedig Google).
Ok
Opera
Attila
Köszönet a válaszért
Vannak még akik normálissan is tudnak válaszolni a kérdésekre.
Evvel nem megsérteni akarok másokat, de vannak olyan válaszok amik számomra enyhe kioktató jellegűek és arra utalnak, hogy mi a francot akarok én itt ilyen dolgokkal, ahelyett hogy rendesen megtanulnám.
A megtanulással nincs is semmi gond, de valószínű ha ide teszek fel kérdést akkor azt lehet azért teszem, mert nem jöttem rá a megoldásra.
Nem vagyok vérprofi mert akkor valószínű nem kérdezgetnék itt.
Bocs de ezt már muszály volt, mert sokan a rövid és egyszerű válaszok vagy egyszerű példák helyett a számomra semmi segítséget nem nyújtó kioktató válaszokat adják.
Ja és az oldalt letöröltem úgyhogy a link nem működik, mert nem kellett egy óra és valaki belerondított és max innen jöhetett mert máshonnan nem lehetett olyan gyorsan megtudni mi is van ott (ha nem innen volt akkor bocs). Ja és persze ahelyett hogy szólt volna itt, hogy mi a gond beleírogatott az oldalba. (némiképpen az én hibám is volt mert kár volt feltételezni, hogy csak jó szándékkal nézik meg)
<Nincs cím>
Bízzál Istenben és tartsd szárazon a puskaport!" -Cromwell
<Nincs cím>
Ha jól látom , a képek scrollozásához a MARQUEE tag nem a legmegfelelőbb/legszebb megoldás.Tudtok valami címet mondani ahol ez a probléma szebben (javascripttel) van megoldva?
köszönöm