1 van 1

Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: do 26 apr 2007, 22:46
door albert davinci
Kijk eens bij deze website: http://www.runnersweb.nl/runnersweb/show/id=1877#top

Als ik hier mijn muispijltje op de 'veldloop'-link zet en ik druk op mijn scroll-knop dan opent mijn browser, zoals het hoort, een nieuw tabblad. Echter, mijn browser opent niet de pagina die onder de link zit maar opent exact dezelfde pagina.

Hetzelfde gebeurt wanneer ik de linker ctrl-knop indruk en op mijn linker muisknop druk wanneer het muispijlte op de 'veldloop'-link staat.

Als ik daarentegen gewoon enkel op de linker muisknop druk wanneer mijn muispijltje hierop staat dan opent mijn browser wel de link.

Dit zie je op meerdere pagina's van deze website met meerdere links die op die pagina staan.

Wat is de verklaring hiervoor?

Re: Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: vr 27 apr 2007, 00:26
door qrnlk
het is geen gewone link naar een nieuwe pagina.

Code: Selecteer alles

<a href="#top" onclick="top.location='/runnersweb/show/id=13623'; return false;" class="a">Veldlopen</a>
Ik weet niet exact wat IE7 met deze javascript doet.

Re: Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: vr 27 apr 2007, 11:22
door jhnbk
dit ligt aan je browser

Re: Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: vr 27 apr 2007, 18:38
door albert davinci
dit ligt aan je browser
Ok, maar wat is dan het probleem bij IE7?

Heeft Firefox dit probleem ook?

Op dit moment heb ik het niet geïnstalleerd staan op mijn computer dus als iemand die wel Firefox heeft dat eens zou willen uitproberen... :wink:

Bij Firefox kan je de broncode bekijken en de reden achterhalen. . Ik vermoed dat Firefox ook dit probleem zal hebben omdat IE die tabbladenfunctie gecopiëerd heeft van Firefox.

Re: Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: vr 27 apr 2007, 18:46
door jhnbk
ai, idd firefox heeft dit ooit, dan zou het toch aan de website kunnen liggen want voor de rest doet firefox en IE dit juist

Re: Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: za 28 apr 2007, 17:35
door Imro
Dit hoort zo.

OnClick events worden alleen uitgevoerd bij een volledige klik, d.w.z. dat je de muisknop in moet drukken en weer los moet laten op één plek.

De linkermuisknop is in de meeste (en misschien wel alle) browsers de enige knop waarmee dat kan.

Je kan bijvoorbeeld niet met je rechtermuisknop op de link klikken en dan ervoor kiezen om de link in een nieuw tabblad te openen, want dan wordt OnClick niet uitgevoerd. Als je er met je muiswiel op klikt, wordt er een nieuw tabblad geopend zodra je je muiswiel indrukt, dit is geen volledige klik en OnClick wordt dus niet uitgevoerd.

Re: Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: ma 30 apr 2007, 02:11
door zpidermen
qrnlk schreef:het is geen gewone link naar een nieuwe pagina.

Code: Selecteer alles

<a href="#top" onclick="top.location='/runnersweb/show/id=13623'; return false;" class="a">Veldlopen</a>
Ik weet niet exact wat IE7 met deze javascript doet.
Gewoon de pagina (blablabla)/runnersweb/show/id=13623 openen (Geldt dus alleen bij een volledige (linker) muisklik). Ik vraag me alleen af wat dat 'return false' hier precies doet?

Re: Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: ma 30 apr 2007, 09:20
door qrnlk
Return false voorkomt de default actie (het volgen van de link).

http://www.quirksmode.org/js/events_early.html

eerst wordt de onClick actie uitgevoerd en daarna de default actie. Door echter false te geven wordt dit onderbrokken.

Re: Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: di 01 mei 2007, 16:25
door albert davinci
Return false voorkomt de default actie (het volgen van de link).
Waarom zou de programmeur dat willen? :( ??:

Het is toch juist de bedoeling dat de link geopend word?

Re: Vreemde constatering bij mijn browser ie7 ivm tabbladen

Geplaatst: vr 04 mei 2007, 07:08
door Imro
albert davinci schreef:Waarom zou de programmeur dat willen? :( ??:

Het is toch juist de bedoeling dat de link geopend word?
Ja, maar er zijn 2 links:

Code: Selecteer alles

<a href="#top" onclick="top.location='/runnersweb/show/id=13623'; return false;" class="a">Veldlopen</a>
De ene wijst naar "#top", de andere naar "/runnersweb/show/id=13623".

Als je met je linkermuisknop op die link klikt wordt eerst het OnClick event (ga naar "/runnersweb/show/id=13623") uitgevoerd en daarna de default actie (ga naar "#top").

Het is de bedoeling dat je naar "/runnersweb/show/id=13623" gaat en niet naar "#top", dus moet het uitvoeren van die acties stoppen vóór je browser de default actie uit kan voeren, maar nadat je naar "/runnersweb/show/id=13623" bent gestuurd, hierom staat er "return false;" achter "top.location='/runnersweb/show/id=13623';".

Meer hierover kan je lezen op de pagina die qrnlk gepost heeft.