und NETSCAPE V6: Script läuft nicht
Allan Allcock
- javascript
0 Ole0 Alla Allcock0 HarryS
0 Igor0 CrossDOM
Ralf0 Dominik
Hallo Forum!
bei der folgenden Seite:
www.yamaichi.de http://www.yamaichi.de/
funktioniert alles unter MSIE und Netscape 4
Mit Netscape 6 funktionieren die Mouseovers weder
a) oben bei den roten Texten: "News", "Company", "Sales" usw.
noch
b) bei den Texten mitten auf der Einstiegsseite "Test and Burn-in Sockets", "Production Use Sockets" usw.
Leider reichen meine Kenntnisse von Javascript nicht aus, um festzustellen warum. (Die Seite stammt nicht von mir.) Kann jemand mir einen Tipp geben?
Danke im Voraus
Allan Allcock
hi
Leider reichen meine Kenntnisse von Javascript nicht aus, um festzustellen warum. (Die Seite stammt nicht von mir.) Kann jemand mir einen Tipp geben?
die javascript kenntnisse der meisten leute reichen leider nicht aus um die seltsamen scripte die macromedieas dreamweaver oder fireworks produzieren zu verstehen.
<auf-dünnem-eis-bewegen>
ich kann nur raten, da ich die sache auch nicht verstehe ;).
meistens wird (bei ältern scripten) zwischen document.layer (für netscape 4) und docuemnt.all (für IE) unterschieden.
vernachlässigt wird aber das DOM, das afaik der NN6 (und die IE ab 5 glaub ich) verstehen.
der NN6 versteht hingegen afaik weder document.layer noch document.all (mehr dazu gibts aber im archiv).
vieleicht liegt der fehler da :)
</auf-dünnem-eis-bewegen>
so long
ole
(8-)>
Hi Ole,
Danke für den Tipp - das hilft mir weiter - ich suche in diese Richtung.
Bye
Allan Allcock
Hallo Allan,
Also mit meinem Mozilla 1.1 geht bei der roten Menüleiste kein Mouseover und auch das Menü selbst funktioniert nicht.
Bei den Unterpunkten (Test und Burn-in Sockets usw.) wird die Farbe geändert und der Strich verlängert. Denke mal das ist das Mouseover. Allerdings funktionieren diese Menüpunkte auch nicht.
Lediglich das "Hilfsmenü" mit dem Auswahlfeld (Global Navigation geht.)
Die Ladezeit ist selbst mit DSL seeeeeehr groß. Da solltest Du unbedingt nachbessern.
Konkrete Tips zu den JavaScripts kann ich Dir leider auch nicht geben Macromedia ist da für mich einfach zu schwer zu durchschauen.
Grüße aus Nürnberg,
HarryS
Hallo HarryS
Danke für die Infos, was geht/was nicht geht.
Die Ladezeit ist selbst mit DSL seeeeeehr groß. Da solltest Du unbedingt nachbessern.
Mache ich - Danke für den Tipp
Bye
Allan
Hallo Allan,
also mit IE6 geht es.
Ist dir eigentlich mal aufgefallen, was die Grafik rechts oben "wiegt"?
Immerhin 1,44 MB... tsts... das nur mal so nebenbei.
Gruß
Igor
Hallo Igor,
also mit IE6 geht es.
Ja! Mit keinen Versionen von MSIE habe ich Probleme - nur mit NETSCAPE 6 (Netscape 7 weiss ich nicht)
Ist dir eigentlich mal aufgefallen, was die Grafik rechts oben "wiegt"?
Nein - daher Danke für den Hinweis!
Bye
Allan
Hallo
ich habe ein Script, das solche Probleme beseitigen soll, geschrieben:
var idDOM=0;
var allDOM=0;
var layDOM=0;
var DHTML=0;
if (document.getElementByID) {
idDOM=1;
DHTML=1;
} else {
if (document.all) {
allDOM=1;
DHTML=1;
} else {
browserVersion=parseInt(navigator.app-Version);
if ((navigator.appName.indexOf('Netscape')!=1) && (browserVersion==4)) {
layDOM=1;
DHTML=1;
}
}
}
function crossDOM(Stil,ObjID) {
if (idDOM) {
if (Stil==1) {
return (document.getElementByID(ObjID).style);
} else {
return (document.getElementByID(ObjID));
}
}
if (allDOM) {
if (Stil==1) {
return (document.all[ObjID].style);
} else {
return (document.all[ObjID]);
}
} else {
if (layDOM) {
return (document.layers[ObjID]);
}
}
}
Am besten bindest du es als externes Script ein.
In Deiner Javascript-Funktion rufst du es dann so ab, um z.B. die höhe eines Objektes festzustellen
function objHeight(ObjID) {
dom=crossDOM(0,ObjID);
if (dom.offsetHeight) {
return dom.offsetHeight;
}
if (layDOM) {
return dom.clip.height;
} else {
return (0);
}
}
Ich hoffe das hilft Dir weiter
Gruß
Ralf
Hallo Ralf,
Wow!
Dass das meine (momentane) Kenntnisse weit überschreitet, dürfte klar sein. Nichtsdestotrotz glaube ich schon, dass ich kapiere, wie ich es anwenden soll.
Vielen Dank!
Kuck mal in 6 Monaten auf der Seite vorbei, um zu schauen, ob ich es geschafft habe, es einzubauen. ;-)
Grüße
Allan
Hallo Forum!
Leider reichen meine Kenntnisse von Javascript nicht aus, um festzustellen warum. (Die Seite stammt nicht von mir.) Kann jemand mir einen Tipp geben?
Am besten du benutzt eine aktuelle Version des Macromedia Tools - das sollte dann Code erzeugen welcher mit den meisten Browsern klappt.
Dies dürfte die einfachste Möglichkeit sein - man braucht nur klicken und nichts "programmieren".
Es selbst im Quelltext zu ändern ist aber eigentlich auch extrem simpel. Einfach die Funktion:
function MM_findObj(n, d) { //v3.0
Durch eine neuere Version ersetzen, welche man auf tausenden Seiten findet. Einfach mit Google nach function MM_findObj suchen und man findet z.B. diese hier:
function MM_findObj(n, d) { //v4.01
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);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
Der Rest des Skripts kann wahrscheinlich so bleiben wie er ist, evtl. sind noch an 2-3 Stellen kleinere Änderungen nötig.
WICHTIGE HINWEISE:
In dem Spagghetticode der Seite ist vieles Javascript doppelt enthalten - in der Hauptseite (default.html) und in der datei /scripts/o16menu.js.
Die Funktion function MM_findObj in der o.g. Datei muss natürlich gegen die neue ausgetauscht werden. Außerdem solltest du dann diese und weitere doppelte Funtionen aus der HTML Datei entfernen um Ladezeit zu sparen, es reicht wenn sie einmal in der js Datei sind.
Dominik
Hallo Dominik
Danke für die fachkundige Antwort.
Bin ich froh, dass ich das nicht verstehen soll, sondern nur nutzen muss!
Grüße
Allan
Hallo Dominik
Danke für die fachkundige Antwort.
Bin ich froh, dass ich das nicht verstehen soll, sondern nur nutzen muss!
Bitte.
Wie gesagt könnten noch an einigen anderen Stellen Änderungen nötig sein damit es zu 100% klappt; und dazu sind Javaskript Kenntnisse nötig.
Allerdings - soviel Zeit habe ich auch wieder nicht.
Noch etwas ist mir gerade eingefallen: Ich bin mir nicht ganz sicher ob man die neue Version von dem Skript einfach so nutzen darf, wenn man das entsprechende Macromedia Programm nicht hat.
Allerdings könnten sie das sowiso nicht nachprüfen und beweisen...
Außerdem denke ich dass ein - eigentlich trivialer - 6 Zeiler nicht als ein kreatives Werk eingestuft werden kann und somit gar nicht unter das Copyright fällt.
Wie sehen dass denn die anderen hier im Forum?
Dominik
Jo :-) !
Außerdem denke ich dass ein - eigentlich trivialer - 6 Zeiler nicht als ein kreatives Werk eingestuft werden kann und somit gar nicht unter das Copyright fällt.
Wie sehen dass denn die anderen hier im Forum?
Ähm... ich glaube: Ein Bißchen Schwanger ist auch schon schwanger. Deswegen kann man nicht sagen, dass nur eine oder wie hier, sechs Zeilen geklautem Code keine Piraterie sind.
Aber wenn man das so sieht, dann darf man sich ja sowieso nichts anschauen und anhören, denn ein Webdesigner ist nur dann ein GUTER Webdesigner, wenn er etwas besseres herausbringt als die Anderen.
Dafür vergleicht dieser die "Konkurenzseiten" macht sich Gedanken, was ihm gefallen oder mißfallen hat und kreirt dann sein eigenes Werk.
Da ich mit Musik viel zu tun habe und selbst auch komponiere, kann ich dir eins sagen - NUR durch Kopieren von Styles der anderen (auch berühmter Komponisten) und durch Ausprobieren von diesen kommst du auf eigene, vielleicht bessere. Sprich, man muß sich von etwas insperieren lassen. Und oft findet man in einem oder anderen Stück, hier Webseite die Ideen von jemand anderem, die einem selbst gefallen hatten.
So seh ich das :-)
Gruß
SeKo
Hallo,
Da ich mit Musik viel zu tun habe und selbst auch komponiere, kann ich dir eins sagen - NUR durch Kopieren von Styles der anderen (auch berühmter Komponisten) und durch Ausprobieren von diesen kommst du auf eigene, vielleicht bessere. Sprich, man muß sich von etwas insperieren lassen. Und oft findet man in einem oder anderen Stück, hier Webseite die Ideen von jemand anderem, die einem selbst gefallen hatten.
nur in diesem Fall geht es ja um nichts Kreatives. Es geht um ein winziges Fetzchen automatisch generierten Skriptcode, welcher auf 10000den von Seiten zu finden ist. Dieser Code wird benötigt, damit eine bestehende Seite mit allen modernen Browsern funktioniert. D.h. es geht nicht um Inhalt, Layout oder Gestaltung - um nichts künstlerisches.
Die Seite sieht mit dem Code genau so aus wie vorher, nur dass sie dann (höchstwarscheinlich) mit allen modernen Browsern klappen wird.
Außerdem enthält der Code keine ausgefeilten Algorithmen, sondern ist klein und trivial.
Ich glaube wie gesagt nicht dass das unter das Copyright fällt. Außerdem könnte Allan ja im Besitz einer neueren Version des Macromedia (wie heißt das teil noch mal??) sein - dann wäre es auf jeden Fall legal. Niemand kann das Gegenteil beweisen, also ist das ganze sowiso nur eine akademische Frage :-)
Dominik
Hi Dominik :-)
Ich glaube wie gesagt nicht dass das unter das Copyright fällt. Außerdem könnte...nur eine akademische Frage :-)
Ich sag nur: Pfeif drauf :-)
Und wenn es denen nicht gefällt, dann cracken wir deren Server, gelle :-) haha
Alles Gute
SeKo
Hallo,
Ich sag nur: Pfeif drauf :-)
Und wenn es denen nicht gefällt, dann cracken wir deren Server, gelle :-) haha
???
ich meinte dass durchaus ernst. Leider hast du meine Antwort ja sinnentstellt zitiert, was ich nicht so schön finde.
Da du davon ja offensichtlich keine Ahnung hast, Google doch mal nach
Urheberrecht Schöpfungshöhe.
Dominik
Hallo Dominik,
Ich glaube wie gesagt nicht dass das unter das Copyright fällt.
Beim Deutschen Urheberrecht nehme ich das auch an, (aus den von Dir genannten Gründen) allerdings habe ich keine Ahnung vom amerikanischen und ob es in diesem auch eine erforderliche Schöpfungshöhe gibt oder nicht oder wie diese eventuell definiert ist.
Viele Grüße,
Christian