IE8 script werl in 1 tab wel en de andere niet

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een scriptje dat de coordinaten van de cursor vindt.
Ik had het werkende onder FF maar IE moest weer roet in het eten gooien.
Dus ik op zoek naar een scriptje wat op alle browsers werkt en vond deze met IE8

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form name=ee><input name=sd type=text> </input></form>
<!--        Script by hscripts.com          -->
<!--        copyright of HIOX INDIA         -->
<!-- more scripts @ http://www.hscripts.com -->
<script type="text/javascript"> 
window.onload = init;
function init() {
  if (window.Event) {
    document.captureEvents(Event.MOUSEMOVE);
  }
  document.onmousemove = getXY;
}
 
function getXY(e) {
  x = (window.Event) ? e.pageX : event.clientX;
  y = (window.Event) ? e.pageY : event.clientY;
 
  document.ee.sd.value = x+":"+y;
}
</script>


De pagina deed het in IE8 prima, dus ik copy 7 paste. Maar als ik hetzelfde script op mijn server bekijkt krijg ik deze foutmelding:
Deze eigenschap of methode wordt niet ondersteund door dit object
Op deze regel:
code:
1
document.captureEvents(Event.MOUSEMOVE);

De setting van de compatibaliteits modus maak niets uit, de fout houd aan.

Met google kan ik geen antwoord vinden. Het probleem lijkt ook niet voor iedereen te gelden, in de zin dat de 1 hem bij een bezoek hem wel ziet en de ander niet.
Is dit een IE bug of iets in de code.
Een voorbeeld van het script staat hier:
http://web.large.nl/mmt/version2/test/

Acties:
  • 0 Henk 'm!

  • krietjur
  • Registratie: Februari 2001
  • Laatst online: 10:56

krietjur

Where am I?

Ik heb hier getest met IE8, ik krijg dezelfde fout, maar in compabiliteits modus doet hij het weer wel.. dus nog weer anders dan bij jou.

Acties:
  • 0 Henk 'm!

  • Twan V
  • Registratie: Oktober 2001
  • Laatst online: 16-09 15:39

Twan V

...en er stralend uitzien

Same here. In Firefox werkt hij prima tho :)

Heb je al op HScripts.com gekeken, waar het script vandaan komt?

Blaat het niet dan schaadt het niet...
Reflex Discoshow - Het beste wat je bruiloft kan overkomen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb de bug gevonden.
Het weghalen van de doctype zorg ervoor dat het script wel werkt.
code:
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

zorgt ervoor dat het script wel werkt. Waarom dit in conflict kwam met het stukje javascript is me niet helemaal duidelijk.
Iemand enig idee?

[ Voor 5% gewijzigd door Verwijderd op 20-05-2010 15:48 ]


Acties:
  • 0 Henk 'm!

  • Lye
  • Registratie: Januari 2010
  • Laatst online: 16-09 22:59

Lye

Verwijderd schreef op donderdag 20 mei 2010 @ 15:48:
Ik heb de bug gevonden.
Het weghalen van de doctype zorg ervoor dat het script wel werkt.
code:
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

zorgt ervoor dat het script wel werkt. Waarom dit in conflict kwam met het stukje javascript is me niet helemaal duidelijk.
Iemand enig idee?
Je hebt nou geen bug opgelost.

Door de doctype weg te halen gooi je je website in quirks mode, wat niet altijd gewenst is. Probeer je website eens eerst goed te laten werken met correcte html (Ik zie op regel 1 al 4 fouten staan..), verder is dat script ook niet al te best.. De manier van event binden die jij gebruikt is achterhaald, lees je eens in op addEventListener en attachEvent in plaats van window.onload en document.onmousemove te gebruiken.

Acties:
  • 0 Henk 'm!

  • danslo
  • Registratie: Januari 2003
  • Laatst online: 16-09 12:15
Of je gebruikt gewoon jQuery, daarmee hoeft je niet te gaan kutten om het in alle browsers werkend te maken:
http://docs.jquery.com/Tutorials:Mouse_Position

Acties:
  • 0 Henk 'm!

  • Lye
  • Registratie: Januari 2010
  • Laatst online: 16-09 22:59

Lye

cls schreef op donderdag 20 mei 2010 @ 19:48:
Of je gebruikt gewoon jQuery, daarmee hoeft je niet te gaan kutten om het in alle browsers werkend te maken:
http://docs.jquery.com/Tutorials:Mouse_Position
Een 70kb grote library vol met onzinnige meuk (in dit geval) includen voor een script van 20 regels is een beetje overkill vind je ook niet? jQuery is geweldig, maar het word tegenwoordig voor elk klein probleem maar even jQuery geinclude, volgens mij ook niet echt de bedoeling....

Acties:
  • 0 Henk 'm!

  • apokalypse
  • Registratie: Augustus 2004
  • Laatst online: 16-09 21:55
Lye schreef op donderdag 20 mei 2010 @ 21:00:
[...]


Een 70kb grote library vol met onzinnige meuk (in dit geval) includen voor een script van 20 regels is een beetje overkill vind je ook niet? jQuery is geweldig, maar het word tegenwoordig voor elk klein probleem maar even jQuery geinclude, volgens mij ook niet echt de bedoeling....
Ja helaas heeft 90% van deze samenleving ook nog een 56K modem. :+
Ik durf te gokken dat webontwikkelaars eerder naar hun grootte van afbeeldingen moet kijken.

Acties:
  • 0 Henk 'm!

  • Lye
  • Registratie: Januari 2010
  • Laatst online: 16-09 22:59

Lye

apokalypse schreef op donderdag 20 mei 2010 @ 21:04:
[...]

Ja helaas heeft 90% van deze samenleving ook nog een 56K modem. :+
Ik durf te gokken dat webontwikkelaars eerder naar hun grootte van afbeeldingen moet kijken.
Je vergeet dat die 70kb aan javascript ook nog geparsed moet worden, en met browsers als IE6 vertraagt dat het laadproces toch wel redelijk.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10:50

Bosmonster

*zucht*

Lye schreef op donderdag 20 mei 2010 @ 21:25:
[...]


Je vergeet dat die 70kb aan javascript ook nog geparsed moet worden, en met browsers als IE6 vertraagt dat het laadproces toch wel redelijk.
Het parsen van de JS is verwaarloosbaar, zelfs in IE6. Het enige dat zo'n library doet is het framework opzetten en verder niks. Met GZIP is die 70K ook nog eens nog maar 24K.

Ontwikkelaars kunnen zich over het algemeen een stuk beter concentreren op het optimaliseren van hun html/css en afbeeldingen dan zich druk maken over een library'tje als jQuery.

Liever jQuery en script dat werkt onder alle browsers, dan dat er van die zooi zoals in de TS overal en nergens van internet geplukt wordt ;)

[ Voor 10% gewijzigd door Bosmonster op 20-05-2010 22:07 ]


Acties:
  • 0 Henk 'm!

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 14-09 14:15
@Lye: FF 2.0 was anders ook niet de snelste, of aangezien je toch een voorbeeld uit 2001 haalt dan zou Netscape er nog langer over doen. Dus dat lijkt me niet echt aan de orde. Verder werkt jQuery en neemt veel zorgen weg voor cross-browser stuff, waarom zou je het wiel opnieuw uitvinden als iemand anders het beter heeft gedaan. :)

IE6 wordt toch wel langzaam uitgefaseerd omdat steeds meer websites de support ervoor droppen. Waarom zou je een browser die uit 2001 komt nog ondersteunen? Waarom zou je daar dirty-hacks voor willen gebruiken als particulier? (Bedrijven kan het een ander geval zijn, omdat het daar altijd is van: 'als het werkt. dan werkt het.'

^ met Bosmonster

Acties:
  • 0 Henk 'm!

  • danslo
  • Registratie: Januari 2003
  • Laatst online: 16-09 12:15
Bosmonster schreef op donderdag 20 mei 2010 @ 22:05:
[...]


Het parsen van de JS is verwaarloosbaar, zelfs in IE6. Het enige dat zo'n library doet is het framework opzetten en verder niks. Met GZIP is die 70K ook nog eens nog maar 24K.
Om nog maar te zwijgen over het feit dat jQuery bij een aanzienlijk aantal mensen al gecached staat.

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 12-09 14:32

André

Analytics dude

cls schreef op donderdag 20 mei 2010 @ 22:28:
[...]


Om nog maar te zwijgen over het feit dat jQuery bij een aanzienlijk aantal mensen al gecached staat.
Was dat maar zo ;) Niet iedereen haalt de jQuery bestanden van dezelfde plek af (http://code.google.com/intl/nl/apis/ajaxlibs/). Pas als dat gebeurd zou het inderdaad niet meer uitmaken dat het bestand ingeladen moet worden.

Acties:
  • 0 Henk 'm!

  • pieturp
  • Registratie: April 2004
  • Laatst online: 27-08 14:18

pieturp

gaffa!

Sorry hoor, maar wat een ranzig scriptje in de TS!

Je hebt toch echt géén Netscape 4 ondersteuning meer nodig, lijkt me?! Waarom zou je dan document.captureEvents gebruiken?
True, het hele www staat vol met dit soort ranzige scripts, maar dat betekend niet dat je ze ook moet gebruiken ;)

Laat die complete if constructie weg, en maak dan van [code=js]document.ee.sd.value = x+":"+y; "[/code] het volgende: [code=js]document.getElementById("{jouw text field id}").value = x + ":" + y;[/code]

[ Voor 2% gewijzigd door pieturp op 21-05-2010 00:10 . Reden: Slecht script moet je niet aan willen passen... ]

... en etcetera en zo


Acties:
  • 0 Henk 'm!

  • danslo
  • Registratie: Januari 2003
  • Laatst online: 16-09 12:15
André schreef op donderdag 20 mei 2010 @ 23:06:
[...]

Was dat maar zo ;) Niet iedereen haalt de jQuery bestanden van dezelfde plek af (http://code.google.com/intl/nl/apis/ajaxlibs/). Pas als dat gebeurd zou het inderdaad niet meer uitmaken dat het bestand ingeladen moet worden.
Vandaar 'aanzienlijk aantal' ipv 'iedereen'. :P

Acties:
  • 0 Henk 'm!

  • pieturp
  • Registratie: April 2004
  • Laatst online: 27-08 14:18

pieturp

gaffa!

Plaats 't volgende net vóór je </body>

HTML:
1
2
3
4
5
<script type="text/javascript">
document.onmousemove = function(e){
   if(e && clientX in e) document.getElementById("{jouw text field id}").value = e.clientX + ':' + e.clientY;
};
</script>

... en etcetera en zo

Pagina: 1