[JS] verschillende platformen

Pagina: 1
Acties:

  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
Ik ben nu bezig met JavaScript, en ik dacht dat het automatisch op elk platform draaide. Ik heb het eigenlijk nooit op een ander platform getest...
Nu zegt een collega van me: Java zelf draait standaard al op alle platformen, dus als je bijvoorbeeld een applet maakt of zo. JavaScript echter, doet dat nog niet standaard en het script zal eerst moeten controleren welke browser gebruikt wordt.
Dus moet ik, als ik het mooi wil doen, in elk script een functie maken die de versie controleert??

Verwijderd

Nou, je kan bij het script-tag opgeven welke versie het is. Bijv <SCRIPT language="javascript1.2"> oid

  • Rival24
  • Registratie: Februari 2000
  • Laatst online: 15:46

Rival24

I'll Be Back

Je haalt Java en JavaScript door elkaar heb ik het idee. JavaScript zou in principe in elke browser moeten werken die dit ondersteunt. Java applets draaien als het goed is ook op vrijwel alle computers waar een virtual machine is geinstalleerd. Java programma's draaien alleen op de computer waar het voor gemaakt is.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 16:18

RM-rf

1 2 3 4 5 7 6 8 9

msie gebruikt officieel geen javascript maar Jscript.
de officiele term voor de standaard is ecma-script.

een browser zou ecmascript moeten ondersteunen (en dit zou aan moeten staan).

verder is de methode om objecten en properties uit een pagina aan te spreken vaak anders, gelukkig bestaat hier nu ook een standaard voor; het DOM, oudere browsers (msie4x en nn4) gebruiken andere modellen, msie het document.all (een vroegere working draft van w3c voor het DOM) en netscape4x document.layers (een volledig proprietair en verouderd model)
Verwijderd schreef op 03 oktober 2002 @ 11:57:
Nou, je kan bij het script-tag opgeven welke versie het is. Bijv <SCRIPT language="javascript1.2"> oid
en omdat dat waanzinnig onpraktisch en een zware belasting is voor de UA is die methode ook deprecated (afgeraden)
beter is het <script type="text/javascript"> te gebruiken en in je script te checken op ondersteuning door de UA

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
als we het gedetaillleerd willen doen:
JScript wordt geleverd door MS, en Javascript door Netscape... :)

met deze info moet ik misschien mijn vraag iets anders stellen:
Ik kan dus wel JScript automatisch draaien op de wat nieuwere browsers, ongeacht welk platform het is?

  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
misschien een hele stomme vraag hoor, maar hoe weet ik nou welke versie van javascript ik draai?
Ik heb overal code uit andere scripts gehaald, en er zelf wat bijgeknutseld... hoe kan ik dan in godsnaam weten welke versie het is? |:(

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 16:18

RM-rf

1 2 3 4 5 7 6 8 9

CaptBiele schreef op 03 oktober 2002 @ 12:12:
misschien een hele stomme vraag hoor, maar hoe weet ik nou welke versie van javascript ik draai?
Ik heb overal code uit andere scripts gehaald, en er zelf wat bijgeknutseld... hoe kan ik dan in godsnaam weten welke versie het is? |:(
als we het hier over clientside javascript hebben (er is nl. ook een serverside versie, die vaak via ASP draait, op websphere of iPlanet servers)
dan draai jij helemaal geen versie:

je levert enkel de code die door een engine op de client wordt uitgevoerd, jouw code kan dus zowel door javascript-engines alswel door Jscript-engines worden uitgevoerd.

het door ecma geleverde object waar de informatie over de UA/script engine instaat is navigator, bv navigator.userAgent, navigator.appVersion etc.
[google=javascript navigator object]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
ahh, kijk. Dat is nog es nuttige info. Kwist helemaal niet dat er ook een serverside versie was.

Ik kan nu gewoon verder met mijn scripts, zonder al dat gedoe met die versies te controleren. Dan maar ietsjes minder ondersteuning. Ik ga ervanuit dat iedereen toch wel een recente versie van IE heeft. :P

RM> tnx voor je info _/-\o_

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 16:18

RM-rf

1 2 3 4 5 7 6 8 9

CaptBiele schreef op 03 oktober 2002 @ 12:21:
Ik kan nu gewoon verder met mijn scripts, zonder al dat gedoe met die versies te controleren. Dan maar ietsjes minder ondersteuning.
Ik ga ervanuit dat iedereen toch wel een recente versie van IE heeft. :P
ik raad je aan wel browser checks in te bouwen, al is het maar minimaal, zorg dat je scripts minimaal een minimum toepassing hiervoor hebben
anders kun je het werk dat je nu doet waarschijnlijk binnen 2 maanden allemaal door de WC spoelen, omdat het onwerkzaam blijkt, en krijg je veel problemen met mensen die een andere site van jou zullen zien omdat hun browser net iets anders is dan de jouwe.

je gewent dat aan een totaal verkeerde manier en zal achteraf heel veel moeite moeten doen, jezelf de juiste weer aan te wennen;

bedenk dat er al veel verschil is tussen msie6 en msie5.5, dat zo'n 40% de eerste en een zelfde percentage de laatste (of msie5) gebruikt, msie4 is helemaal anders, die ondersteunt enkel document.all en wordt nog altijd door een zeker gedeelte gebruikt (misschien 5-10%), verder stijgt het aantal gebruikers van mozilla-achtige browsers eerder.

er zijn via google, hotscripts of de GoT search standaard browser check scripts te vinden die je gewoon kunt gebruiken en die erg leerzaam kunnen zijn, verder is het aan te raden om zodra je proprietaire objecten aanspreekt eerst te checken op bestaan van het object zelf en niet op de gebruikte UA:

code:
1
if (window.external) window.external("AddFavourite", "http://www.blaat.com")


ipv enkel te checken of de navigator.userAgent "MSIE" bevat, of op bestaan van document.all

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
k, tnx voor je advies... ik zal er toch een kleine check in bouwen ...
(moet ik maar es niet zo lui zijn) :P
Pagina: 1