JavaScript != JavaScript

Diskutiere JavaScript != JavaScript im Web & Grafik Forum im Bereich Internet & Telekomunikation Forum; Es ist wohl das Problem eines jeden Webdesigners, daß jeder Browser JavaScript unterschiedlich interpretiert. Gibt es irgendwo eine Übersicht...
  • JavaScript != JavaScript Beitrag #1
T

TT

Bekanntes Mitglied
Dabei seit
19.07.1999
Beiträge
3.789
Reaktionspunkte
0
Ort
einer anderen Welt
Es ist wohl das Problem eines jeden Webdesigners, daß jeder Browser JavaScript unterschiedlich interpretiert.

Gibt es irgendwo eine Übersicht, welcher Browser (und damit meine ich nicht nur IE und NN sondern auch Opera, Lycos_Text, NetCruiser und wie die ganzen anderen noch heißen) welche Befehle wie interpretiert?

kleines Beispiel (ist z.B. wichtig für ein Baummenü):
<DIV ID="IDName">Hier steht jetzt irgendwas</DIV>

Diesen Text kann man visible und hidden setzen:

im IE:

function show(whatid)
{
document.all[wahtid].style.visiblity = "visible"
}

im NN:

function show(wahtid)
{
document[whatid].visiblity = "show"
}

in Opera funzt keine der beiden Methoden. :mad:

TT
 
  • JavaScript != JavaScript Beitrag #3
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
2 TT:

document.all wird nur vom MSIE unterstützt. Opera kann das sehr wohl, aber nur, wenn Du unter File -> Preferences -> Connections den User Agent auf "MSIE 5.0" stellst. Diese Einstellung ist Jedem bei Opera anzuraten, da viele JavaScript-Seiten auf den Internet Explorer getrimmt wurden.

Ansonsten empfehle ich die Lektüre von Web specifications supported in Opera 5 - the details.

O Love
 
  • JavaScript != JavaScript Beitrag #4
T

TT

Bekanntes Mitglied
Dabei seit
19.07.1999
Beiträge
3.789
Reaktionspunkte
0
Ort
einer anderen Welt
Es kann zwar dann mehr und ist dem IE näher, jedoch zufriedenstellend ist das Ergebnis noch lange nicht.
Die Positionierung der Objekte stimmt nicht und ein paar Eigenschaften können auch nicht gesetzt werden.
Kann Opera den NN6 besser emulieren (ansich hat der ja auch ein paar ganz gute JS Funktionen)?

Den Link kannte ich übrigens schon.

TT
 
  • JavaScript != JavaScript Beitrag #5
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Positionierung MSIE vs. Opera:

Ich habe auf meiner Homepage eine Navigationsleiste mittels "zerschnittenem" GIF realisiert. Dann habe ich alle Teil-GIFs hintereinander als Inline-Images eingefügt. Opera ließ keine Lücken, der MSIE schon. Da half nur absolute Positionierung via Style-Defs.

Meinst Du das?

Allgemein:

Ich muß gestehen, daß ich nur Anfänger bei JS bin. Ich bekomme als Opera-Fanatiker dennoch einige Sachen am Rande mit...

Nachtrag, EDIT:

Ich bezweifle, daß NN6 bei der JS-Implementierung von Opera eine Rolle spielt. O5 war eher als NN6 draußen. Bei den User Agents findest Du deshalb auch nur "Mozilla 4.76". Der "Mozilla 5"-Eintrag ist durch die Opera-Leute nur geraten, da diese Version bekanntlich ausgelassen wurde.

O Love

[ 22 Februar 2001: Nachricht editiert von: O Love ]
 
  • JavaScript != JavaScript Beitrag #6
T

TT

Bekanntes Mitglied
Dabei seit
19.07.1999
Beiträge
3.789
Reaktionspunkte
0
Ort
einer anderen Welt
Genau diese absolute Positionierung meine ich (im Stylesheet). Dabei geht es mir nicht darum, wie man sie macht, sondern daß der IE von der Außenkannte und Opera von der Innenkannte rechnet. Bei einem 1px Rahmen macht das nicht viel aus, aber bei dickeren Rahmen fällt das durchaus ins Gewicht.

Naja...hilft alles jammern nichts, die schöne Einstellung:
display = 'none' kann man nur (und nur) im IE per JS setzen. Da muß man sich nicht lange mit Neupositionierung der Elemente auseinandersetzen, da das Objekt ausgeblendet wird und keinen Platz braucht.

TT
 
  • JavaScript != JavaScript Beitrag #7
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Ich muß gestehen, daß ich die "Rechenweise" auch bei <A HREF="http://www.w3.org/TR/1998/REC-CSS2-19980512/" TARGET=_blank>Cascading Style Sheets, level 2
CSS2 Specification</A> nicht beschrieben finde.

Irgendwie sind wir aber vom Thema abgekommen, das ja "JS != JS" lautet. Und da muß ich Dir beipflichten. Nur Java ist (trotz aller Bemühungen M$) Standard, JS nicht.

O Love
 
  • JavaScript != JavaScript Beitrag #8
F

FREEFAQ

Bekanntes Mitglied
Dabei seit
22.02.2001
Beiträge
109
Reaktionspunkte
0
Ort
Köln
Hab zu Opera eheer wenig Ahnung, aber:
Wenn es keine andere Möglichkeit gibt, baut ein script ein, das auf eine auf den Browser angepaste seite weiterleitet. Hab ich auch auf meiner Page drauf, weil mich das allmählich STRESST!!!!!!¨Alle Lüt die keinen IE benutzen stehen leider bei mir vor geschlossener Türe! (Warum? 1. IE wird am meisten benuzt. 2. Mit dem IE kann man viel mehr und bessere Sachen machen!)
Aber das is alles meine Meinung!!! Mir is egal wie Ihr denkt. Aber ich find das sollte mal gesagt werden!
 
  • JavaScript != JavaScript Beitrag #9
T

TT

Bekanntes Mitglied
Dabei seit
19.07.1999
Beiträge
3.789
Reaktionspunkte
0
Ort
einer anderen Welt
Nun, dem kann ich nicht ganz beipflichten. mit NN kann man genauso gut alles machen, jedoch muß man etwas anderes denken.
Und die Scripte werden per dynamisch eingebunden (je nach Browser). Das heißt, ich starte ein php-File, das den Browser auslest, und je nach dem die richtigen .js linkt. So fallen im Browser die If-Anweisungen weg. Ist die Seite einmal aufgebaut (und die eine php-Abfrage wird nicht die Zeit benötigen), können die Scripte schneller und effektiver ausgeführt werden.
NN und IE sind ja auch nicht das Problen, Opera macht mir etwas sorgen.

Bei CSS kann man zwar sagen, daß die Standards relativ gut eingehalten werden, jedoch der dynamische Zugriff auf die Styles per JavaScript ist wieder mal nicht einheitlich.

TT
 
  • JavaScript != JavaScript Beitrag #10
T

TT

Bekanntes Mitglied
Dabei seit
19.07.1999
Beiträge
3.789
Reaktionspunkte
0
Ort
einer anderen Welt
Des weiteren habe ich bereits eine Möglichkeit gefunden, die Stylesheets dynamisch zu wechseln. Man definiert einfach mehrere Klassen, z.B.:

div.visible { display:block }
div.hidden { display:none }

und so würde das dann eingebunden werden:

&lt;DIV ID="IDx" Class="visible"&gt;
...
&lt;/DIV&gt;

und per Javascript ändert man dann den ClassName von visible auf hidden.

Beim IE funktioniert das perfekt, Opera setzt zwar das neue Stylesheet, jedoch ändert er die Darstellung nicht.
NN6 habe ich von meinem Testrechner (P75) wieder entfernt, das Ding (NN6) ist ja langsam ende nie.

TT
 
Thema:

JavaScript != JavaScript

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben