[javascript] __defineGetter__ in IE?

Pagina: 1
Acties:

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
Met __defineGetter__ kan je in Mozilla's Javascript een property toevoegen aan een object. Op het moment dat die property wordt opgevraagd wordt een gegeven functie gedraait. Er is ook nog __defineSetter__ voor schrijven ipv. lezen.

In Actionscript kan je hetzelfde met addProperty.

Heeft Internet Explorer een equivalent?

In MSDN kon ik niks vinden wat hier op lijkt. Google geeft ook niet bijzonder veel info over dit onderwerp.

[ specs ] [ Tweaker gallery ]


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 25-02 11:17

Clay

cookie erbij?

Voor zover ik weet kan IE dat niet. Je zou evt. kunnen gaan poken met timers om te kijken of er een var veranderd is :{ maar daar word je ook niet vrolijk van.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

onpropertychange kun je gebruiken in ie, geloof ik.
Je hebt in Mozilla ook nog zoiets als watch, maar ik geloof niet dat dat in ie wordt ondersteund.

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
Aan timers (setInterval/Timeout) heb ik wel gedacht, maar ik pijns er niet over om dat hier te gebruiken. Ik was op zoek naar iets elaganters.

onpropertychange zou gebruikt kunnen worden als equivalent van __defineSetter__. Alleen wat te doen met __defineGetter__, dus voor het lezen van een property/attribute?

Als niet voor beide dingen een alternatief is, dan heeft het weinig nut en ben ik gedwongen alles met methods op te lossen, wat helaas ook wat minder elegant is, maar in iedergeval wel goed werkt.

offtopic:
Het is opvallend hoe vaak IE te kort schiet, de laatste tijd. 'Vroeger' was 't altijd omgekeerd. Wanneer komt IE7 uit? Ik hoorde laatst geruchten dat Microsoft stopt met de productie van IE, maar kan me dat niet voorstellen.

[ specs ] [ Tweaker gallery ]


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 25-02 11:17

Clay

cookie erbij?

Het is opvallend hoe vaak IE te kort schiet, de laatste tijd. 'Vroeger' was 't altijd omgekeerd. Wanneer komt IE7 uit? Ik hoorde laatst geruchten dat Microsoft stopt met de productie van IE, maar kan me dat niet voorstellen.
Dat lijkt mee ook niet nee. :)
Dat tekort schieten kan ik me heel goed in inleven :P Maar moz is wat getters en setters misschien sowieso een paar lichtjaar verder dan IE, want deze manier van setters en getters definieren werkt b.v. ook, n dat is voor zover ik het op google vinden kan een js 2.0 standaard:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function Test() { }

Test.prototype = {
   zomaar:function() {
      // normale functie 
   },

   // setter
   set dinges(value) {
      throw Error('MAG NIET MWUAHAHA')
   },
   
   // getter
   get dinges() {
      return 'hopla';
   }
}

var test = new Test();

try {
   test.dinges = 2;
} catch(e) {
   // error
   alert(e)
}

alert(test.dinges)

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Is dat trouwens geen JS 1.0 standaard? Dit bestaat al zo lang en staat zelfs nog in een oud js boek van mij.

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
Ah, kijk dat is cool. JS 2.0 is momenteel toch in proposal, of is 't al te gebruiken in de laatste versies van Mozilla? Firefox rules trouwens. De eerste browser die IE compleet verslaat qua snelheid op Windows platforms. In mijn ervaring is Firefox 10 tot 20x zo snel als IE. Prachtig staaltje werk!

Ik heb - uit zelf bescherming - nog nooit in de code van Beehive gekeken, maar gebruik je die nog steeds? Zo'n beetje alle browsers werken tegenwoordig gewoon met document.getElementById(id) - het lijkt bijna niet meer nodig om een dhtml library te maken.

offtopic:
Een lichtjaar is een maat van afstand en niet van tijd. >:)

[ specs ] [ Tweaker gallery ]


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
André schreef op 10 maart 2004 @ 15:47:
Is dat trouwens geen JS 1.0 standaard? Dit bestaat al zo lang en staat zelfs nog in een oud js boek van mij.
Dat stukje code is zeker geen JS 1.0.
Ik heb 't net even getest. Mozilla geeft braaf de verwachte output (eerst foutmelding en daarna 'hopla'. IE doet niks: geen foutmelding, geen bericht, geen niks.

JS 1.0 is eigenlijk vrij belachelijk. Array.push bestaat niet eens, om maar wat te noemen. Laat staan dit soort, meer advanced constructies.

[ specs ] [ Tweaker gallery ]

Pagina: 1