• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Verdammter Netscape!

jackengott

New member
Hi,
folgendes Problem:
habe eine 2x2 Tabelle, in der oben links und oben rechts Flash-Filme (Mitarbeiter-Visitenkarten) mittels javascript geladen werden sollen. M.a.W.: unten rechts stehen verschiedene Namen und bei Klick sollen oben links und rechts persönliche Daten angezeigt werden.
Mit dem IE5 funktioniert alles wunderbar, aber der NS4.6 beschwert sich mit einem javascript-error und sagt bei Eingabe von "javascript:"
-Init is not defined
-Mueller is not defined...

Diese sind aber im (ausgelagerten) code definiert... (sonst würde es ja auch im IE nicht klappen!)
Was jetzt? Weiss jemand Rat?
Danke,
Frankie
 
wie du es schreibst...

verdammter netscape! viele jscripts funkz nicht mit NS. du kannst nur hoffen dass nicht zuviele surfer NS als browser benutzen ;)

gruss
 
so was ist mir auch schon öfter passiert

hau mal den ganzen JS-code vor dem ersten Aufruf, z.B. in den Head....bei mir hat's geholfen.
 
Der Code!

Ja, dann poste ich mal auf vielfachen Wunsch ;-) den schwer entspeckten Code...
Und weils so wenig ist, direkt im Body!
Falls ihr es ausprobieren wollt: Die gifs hab ich mir gespart. Einfach irgendwelche einfügen...

----------------------------------8<----------------------------------------------
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

<script>
privat = new Image();
kandidaten = new Image();

var zeige;

function vkarten(zeige) {
VK = new Image();
switch (zeige){
case privat:
VK.src="images/.gif"; break; // hier ein gif deiner Wahl
case kandidaten:
VK.src="images/.gif"; break; // hier ein gif deiner Wahl
}

if(document.all){
document.all.Bildbereich.innerHTML = "<layer><img src=\"" + VK.src + "\"></layer>";
}
else if(document.layers){
document.layers[0].document.open();
document.layers[0].document.write("<layer><img src=\"" + VK.src + "\"></layer>");
document.layers[0].document.close();
}
}

</script>
</head>
<body bgcolor="#FFFFFF" onload="javascript:vkarten(privat)">
<table border=1>
<tr>
<td>
<div id="Bildbereich">
<layer> </layer></div>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td><a href="javascript:vkarten(privat)">
<img src="images/.gif"><!-- hier ein gif deiner Wahl -->
</a></td>
</tr>
<tr height="18">
<td><a href="javascript:vkarten(kandidaten)">
<img src="images/.gif"> <!-- hier ein gif deiner Wahl-->
</a></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
----------------------------------8<----------------------------------------------


Also so funktioniert es im IE aber nicht im NS... muss doch was ganz billiges sein, oder?
Fehlermeldung: "privat is not defined, kandidaten is not defined"
Danke für jeden Rat,
FS
 
Tja, jetzt hab ich den Code gepostet und niemand meldet sich mehr...
das ist schade, aber vielleicht hat der ein oder andere doch nochmal Lust, entweder auf den Code zu schauen, oder das Ding sogar auszuprobieren. Ich bin mit meinem Latein am Ende!
Dank Euch,
Frankie
 
nagut

dan geb ich meinen Senf dazu ab :D

wieso machst Du Privat und kandidat als image?
Wenn das nicht zwingend ist, dann versuchs doch mal mit "normalen" variablen.
...
ich hab's mir nochmal angeschaut, und glaub ich hab den gravierenden Fehler entdeckt.
Gibt er dir nicht schon bereits bei dem document.layers[0].document.open nen Fehler aus?
Ich mach's Grundsätzlich so, dass bei mir Layer erst angesprochen werden, wenn Sie auch da sind. D.h. Du solltest den Layer bei onload mit dem Image "beschreiben". Ich denk mal, dass da der Fehler liegt.
 
als erstes, probier die parametr so ubergeben:
<a href="javascript:vkarten('privat')">
mit einfacher einfürungszeichen um!
 
Re: nagut

kutiku schrieb:
dan geb ich meinen Senf dazu ab :D

wieso machst Du Privat und kandidat als image?
Wenn das nicht zwingend ist, dann versuchs doch mal mit "normalen" variablen.
...
ich hab's mir nochmal angeschaut, und glaub ich hab den gravierenden Fehler entdeckt.
Gibt er dir nicht schon bereits bei dem document.layers[0].document.open nen Fehler aus?
Ich mach's Grundsätzlich so, dass bei mir Layer erst angesprochen werden, wenn Sie auch da sind. D.h. Du solltest den Layer bei onload mit dem Image "beschreiben". Ich denk mal, dass da der Fehler liegt.

Also mit normalen Variablen hats gar keinen Sinn.
Deinen 2. Kommentar verstehe ich nicht ganz (vielleicht könntest Du mir da mal einen Beispielcode mailen). Den Layer beschreibe ich doch beim Onload mit einem Bild!

Abgesehen davon fällt mir jetzt auf, wo der Fehler liegen könnte, nur versteh ich nicht, warum es der IE5 durchgehen läßt:
Beim Aufruf von <body bgcolor="#FFFFFF" onload="javascript:vkarten(privat)"> "springt" man direkt in die Funktion vkarten(), in der privat und kandidaten tatsächlich nicht definiert sind. Die darüber stehende Definition dieser beiden Variablen wird anscheinend so nicht "gelesen". Stimmt das?
Frankie
 
Oleg.de schrieb:
als erstes, probier die parametr so ubergeben:
<a href="javascript:vkarten('privat')">
mit einfacher einfürungszeichen um!

Hi Oleg, habe jetzt alle Hochkomata, Backticks usw ausprobiert und alle ergeben error. Vielleicht liegts ja an meiner Tastaturbelegung, daher wärs nett wenn Du mir sagen könntest, ob Du Shift-# oder die Anführungsstriche neben dem ß meinst...
Danke schonmal,
Frankie
 
natürlich die bei '#'

Was ich meinte ist, dass Du die Sache mit document.layers[0].write(blabla) in eine Funktion setzt, und die mit im body mit onload aufrufst....oups, hab's mir grad nochmal angeguckt....ich hab die Sache falsch interpretiert....also vergiss die Sache mit dem onlaod und so :)

aber, wieso macht das mit "normalen" Variablen keinen Sinn?...Du brauchst doch soweit ich das sehe nirgendwo ein Bild das Du mit privat oder kandidat belegst !?!

ruf doch einfach die funktion mit 1 oder 2 aus, und mach dann deine switch Sache.

und warum definierst Du eine globale var zeige?
 
Zuletzt bearbeitet:
Ja, mein lieber Kutiku, das mit den Zahlen funktioniert. Sauberer Tip! Leider will aber mein Auftraggeber in der Statuszeile nicht "javascript(1)" usw. stehen haben, sondern z.B. "javascript(mueller)" wenn Mr Mueller´s Visitenkarte gefragt ist... das werde ich ihm morgen austreiben müssen! Oder ich kriegs mit Olegs Anführungsstrichen hin, was aber momentan nicht so aussieht...
1000 Dank schonmal für die Mithilfe!
Frankie

PS: Wenn ich privat und kandidaten nicht als image() sondern nur als globale Variablen deklariere, dann funktoniert zwar der onload-Aufruf (nur im IE!), aber kein weiterer Aufruf durch Klicken mehr. Und das dann weder im NN noch im IE!
 
ganz einfach:

entweder
Du machst var privat=1, kandidat=2; (statt dieser Imagekacke)
dann kannst Du so vorgehen wie bisher (das muss gehen)

oder Du machst die Anführungsstriche auch bei deiner switch sache hin!!!
 
Vielen Dank!

Alles klar! Es funktioniert! Dank an Oleg und dank an Kutiku!
Werde mich hoffentlich mal erkenntlich zeigen können!
...wenn auch nicht unbedingt bei javascript ;-)
Frankie
 
Zurück
Oben