java script, laeuft nicht im netscape
bettina
- javascript
hallo,
ich bin neu hier, aber ich hoffe, dass mir jemand weiterhelfen kann. ich habe meine homepage mit dem dreamweaver erstellt und rollover-effekte bei buttons erzeugt. leider laeuft die homepage jetzt nur im explorer, netscape erkennt das java script nicht.
der code sieht so aus:
<script language="JavaScript" fptype="dynamicanimation">
<!--
function dynAnimation() {}
function clickSwapImg() {}
//-->
</script>
<script language="JavaScript1.2" fptype="dynamicaction" src="animate.js">
</script>
</head>
<body bgcolor="#CCCCCC" link="#800080" vlink="#990033" alink="#CC0099" onload="dynAnimation()">
<table width="161" height="161">
<td>
<p style="margin-top: 0">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" width="161" height="161">
<param name=movie value="Film01_kl.swf">
<param name=quality value=high>
<param name=bgcolor value=#CCCCCC>
<embed src="Film01_kl.swf" quality=high bgcolor=#CCCCCC width=161 height=161
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>
</object>
</table>
<table width="150" border="0" bgcolor="#CCCCCC">
<tr>
<td height="35">
<div align="center"><a onMouseOver="document['fpAnimswapImgFP2'].imgRolln=document['fpAnimswapImgFP2'].src;document['fpAnimswapImgFP2'].src=document['fpAnimswapImgFP2'].lowsrc;" onMouseOut="document['fpAnimswapImgFP2'].src=document['fpAnimswapImgFP2'].imgRolln" href="../../index.htm" target="_top"><img border="0" src="../IMAGES/button01_home.gif" id="fpAnimswapImgFP2" name="fpAnimswapImgFP2" dynamicanimation="fpAnimswapImgFP2" lowsrc="../IMAGES/button01_home_li.gif" width="132" height="32" alt="Home" align="bottom"></a></div>
</td>
</tr>
<tr>
</tr>... und weiter roll-over buttons.
kann mir jemand weiter helfen? ich wuerde mich sehr freuen.
viele gruesse!
bettina
hi,
leider ist der Maschinencode solcher Programme kaum lesbar.
Verbesserungen sind so muehsam, das mans/fraus besser schnell
selber schreibt. Es ist nicht schwer, und steht hier beschrieben:
http://www.teamone.de/selfhtml/tedg.htm
hth
Gruesse Joachim
Hallp,
Dreamweaver hat eine besondere Ueberpruefungsmoeglichkeit,
unter Datei->ZielBrowser ueberpruefen
kannst du genau feststellen, welche der Features die du eingebaut
hast, im Netscape bei welcher version nicht funktionieren
dasselbe gilt fuer den Explorer. Vielleicht hilft dir das ja
schon weiter. D. bietet features an die manchmal nur in einem Browser
funktionieren, dafuer ist die aut. ueberpruefung ganz praktisch
gruss
Sonia
Hallo Bettina!
Wie Joachim schon gesagt hat, ist der Code solcher WYSIWYG-Proggies nur schwer zu verstehen. Und viele, wenn nicht alle der hier Anwesenden hat nun mal keine Lust, sich mit dem unleserlichen Code eines Frontpages, Composers oder anderen WYSIWYGs auseinanderzusetzen ;-)
Joachim hat Dich auf das sehr gut beschriebene Amwendungsbeispiel von SELFHTML verwiesen. Weniger Arbeit fuer Dich wuerde jedoch folgende Loesung bedeuten, denn Du wuerdest keine JavaScript-Funktion benoetigen: alles wird mit den Event-Handler OnMouseover und OnMouseout bewerkstelligt. Ferner, braeuchtest Du nur Deine entsprechenden <a>-Tags auszutauschen.
Hierzu musst Du Dir den Namen Deiner Buttons im Ruhezustand merken (ich nehme an hier: "button01_home.gif"?) und der Name von dem beim Drueberfahren mit der Maus ausgetauschten Button (hier finde ich den Namen nicht, denn "button01_home_li.gif" scheint ein Vorlade-(low source)Bild zu sein wie hier beschrieben: </selfhtml/tcgf.htm#a1>. Die kannst Du heutzutage getrost rausschmeissen, da die Verbindungen nicht mehr so lahm sind wie frueher, und ausserdem wird es nur von Netscape verstanden). Schau halt wie der Austauschbutton heisst, hier im Beispiel werde ich ihn: "button01_home_over.gif" nennen.
Dann schmeisst Du das hier komplett raus:
<a onMouseOver="document['fpAnimswapImgFP2'].imgRolln=document['fpAnimswapImgFP2'].src;document['fpAnimswapImgFP2'].src=document['fpAnimswapImgFP2'].lowsrc;" onMouseOut="document['fpAnimswapImgFP2'].src=document['fpAnimswapImgFP2'].imgRolln" href="../../index.htm" target="_top"><img border="0" src="../IMAGES/button01_home.gif" id="fpAnimswapImgFP2" name="fpAnimswapImgFP2" dynamicanimation="fpAnimswapImgFP2" lowsrc="../IMAGES/button01_home_li.gif" width="132" height="32" alt="Home" align="bottom"></a>
und ersetzt es durch:
<a href="../../index.htm" target="_top" onMouseover="button01_home.src='../IMAGES/button01_home_over.gif';return true" onMouseout="button01_home.src='button01_home.gif';return true"><img name="button01_home" border="0" src="../IMAGES/button01_home.gif" width="132" height="32" alt="Home" align="bottom"></a>
Was bedeutet das alles? Schau Dir erst einmal das img-Tag an:
<img name="button01_home" border="0" src="../IMAGES/button01_home.gif" width="132" height="32" alt="Home" align="bottom">
Es hat jetzt den Namen: name="button01_home", also den gleichen (der Einfachheit halber) wie das Bild selbst, nur ohne die Endung ".gif".
Auf diesen vergebenen Namen greifst Du bei onMouseover und onMouseout zurueck im <a>-Tag:
onMouseover="button01_home.src='../IMAGES/button01_home_over.gif';return true"
Mit button01_home.src='...' bei onMouseover weist Du dem Bild mit dem Namen name="button01_home" ein neues Bild zu, naemlich: button01_home_over.gif (aus dem Verzeichnis ../IMAGES/), also den Button, der ausgetauscht werden soll. Beim onMouseout ist es das gleiche Prinzip, nur dass da das normale Bild wieder ausgetauscht wird (Wuerdest Du die komplette onMouseout-Anweisung weglassen, wuerde nach dem Drueberfahren mit dem Maus und wieder verlassen das ausgetauschte Bild button01_home_over.gif stehen bleiben...).
Du verfaehrst nach dem gleichen Prinzip fuer alle Deine Buttons - aufpassen, sich bei den Namen nicht zu verschreiben, und dann muesste es laufen. Das Tolle daran, wenn beim Klicken noch etwas anderes passieren soll, kannst Du den Event-Hanler onClick einsetzen und ebenso ein drittes Bild fuer den Moment des Klickens austauschen lassen - hat aber in der Regel wenig Sinn, da bei onClick der Link sofort ausgefuert wird, so dass man das ausgetauschte Bild hier kaum sieht).
Die JavaScript-Funktionen vom Anfang also der JavaScript-Bereich:
<script language="JavaScript" fptype="dynamicanimation">
<!--
function dynAnimation() {}
function clickSwapImg() {} <------------ Wozu ist denn die Funktion??? Hier aufpassen!
//-->
</script>
und das hier: <script language="JavaScript1.2" fptype="dynamicaction" src="animate.js">
</script>
sowie im <body>-Tag: onload="dynAnimation()" sollten auch raus.
Viel Spass beim Aendern!
Patrick
Hallo nochmal,
hab mal jetz genauer hingeschaut,
warum so kompliziert? meine D.Version ist aelter,
ich konnte deinen Code nicht hervorrufen aber probiers
doch einfach so:
<script language="JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
...
<a href="#" onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image2','','file:///D%7C/pfad/bild1.gif',1)">
<img name="Image2" border="0" src="file:///D%7C/pfad/bild2.gif" width="80" height="44">
</a>
Das fuer Schreibfaule, ansonsten ist es empfehlenswert sowas erstmal
selbst zu schreiben und wenn man da zurechtkommt dann die Werkzeuge
benutzen, sonst beherrscht die Maschine dich und nicht umgekehrt.
Gruss
sonia
hallo,
ich bin neu hier, aber ich hoffe, dass mir jemand weiterhelfen kann. ich habe meine homepage mit dem dreamweaver erstellt ....
HI,
und da ist schon der Fehler . Ich kann von solchen Homepageerzeugerprgramme nur abraten . Die schreiben die ärgsten verwirrtesten codes und funktionieren bei der einen Version des Browser aber bei der nächsten schon nimma (= 1 Beispiel das ich erleben musste als ich noch sowas benutze)