scrollTo() werkt niet in Chrome

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • IceBlackz
  • Registratie: Maart 2011
  • Laatst online: 19:08
Het idee:

Ik heb een iframe binnen mijn indexpagina waarin ik nieuws.html laad, op deze pagina staan 3 knoppen op een rij(x-as) en dat in een y aantal rijen. Op de index pagina heeft deze iframe een viewport van 135x978 (h x l), en om dus door elke rij knoppen heen te scrollen wil ik gebruik maken van de functie scrollTo. Omdat ik nu nog maar 2 rijen heb, zijn de coordinaten hardcoded met de volgende code:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
..
<IFRAME  
     WIDTH="978"
     height="135"
     style="float:none; margin-top:0px; margin-bottom:5px; border:none;"
     marginwidth="0px"
     marginheight="0px"
     src="nieuws.html"
     noresize="noresize"
     scrolling="no"
     name="nieuwsframe"
     >     
</IFRAME>

<center><a onClick="scrollup();">Next</a> <a onClick="scrolldown();">Previous</a></center>
<br>
..

JavaScript:
1
2
3
4
5
6
7
function scrolldown(){
    parent.nieuwsframe.scrollTo(0,135);
}

function scrollup(){
    parent.nieuwsframe.scrollTo(0,0);
}


Nu, dit werkt perfect in firefox en IE, maar in chrome kan ik het niet aan de praat krijgen :/
Iemand enig idee waar mijn fout zit?

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 17-09 11:07

TheNephilim

Wtfuzzle

Geen errors in de console van Chrome?

Acties:
  • 0 Henk 'm!

  • IceBlackz
  • Registratie: Maart 2011
  • Laatst online: 19:08
TheNephilim schreef op dinsdag 31 juli 2012 @ 15:53:
Geen errors in de console van Chrome?
goeie, het volgende krijg ik:


Unsafe JavaScript attempt to access frame with URL file:///.../nieuws.html from frame with URL file:///.../index.html. Domains, protocols and ports must match.
navscripts.js:90
scrollup navscripts.js:90
onclick index.html:86
Uncaught TypeError: Object [object Window] has no method 'scrollTo' navscripts.js:90
scrollup navscripts.js:90
onclick

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Well, there's your problem. Nu heb je weer een aantal zoektermen. :)

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • IceBlackz
  • Registratie: Maart 2011
  • Laatst online: 19:08
OkkE schreef op dinsdag 31 juli 2012 @ 16:19:
Well, there's your problem. Nu heb je weer een aantal zoektermen. :)
Ja dat is ook een goeie.. ik ben niet zo wakker vandaag x)

Maargoed, het is nu "gefixed". Lijkt erop dat chrome file:// urls niet zo leuk vindt, nu hij echt online staat werkt hij wel gewoon :). Thanks voor jullie hulp!

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
IceBlackz schreef op dinsdag 31 juli 2012 @ 16:36:
Maargoed, het is nu "gefixed". Lijkt erop dat chrome file:// urls niet zo leuk vindt, nu hij echt online staat werkt hij wel gewoon :). Thanks voor jullie hulp!
Ontdoe jezelf dan ook even van het gebruik van hoofdletters voor elementen en gebruik een id attribuut i.c.m. document.getElementById i.p.v. een name attribuut i.c.m. 'automagisch' gegenereerde expando properties.

Nog beter; gebruik helemaal geen id of naam, want die heb je helemaal niet nodig: gebruik gewoon vanuit een in een iframe ingeladen document window.frameElement om direct een referentie naar het iframe element te krijgen waarin dat document ingeladen is.


Trouwens, als je het document binnen je iframe wilt scrollen en dit aanroept vanuit dit document zelf, waarom gebruik je dan niet gewoon direct window.scrollTo i.p.v. te proberen die functie op het iframe element te gebruiken?

[ Voor 30% gewijzigd door R4gnax op 31-07-2012 19:54 ]


Acties:
  • 0 Henk 'm!

  • IceBlackz
  • Registratie: Maart 2011
  • Laatst online: 19:08
R4gnax schreef op dinsdag 31 juli 2012 @ 19:39:
[...]

Ontdoe jezelf dan ook even van het gebruik van hoofdletters voor elementen en gebruik een id attribuut i.c.m. document.getElementById i.p.v. een name attribuut i.c.m. 'automagisch' gegenereerde expando properties.

Nog beter; gebruik helemaal geen id of naam, want die heb je helemaal niet nodig: gebruik gewoon vanuit een in een iframe ingeladen document window.frameElement om direct een referentie naar het iframe element te krijgen waarin dat document ingeladen is.
Dat zijn restanten vanuit eerdere pogingen om het werkend te krijgen, maar thnx voor de tips. Hoofdlettergebruik is idd iets om op te gaan letten.
Trouwens, als je het document binnen je iframe wilt scrollen en dit aanroept vanuit dit document zelf, waarom gebruik je dan niet gewoon direct window.scrollTo i.p.v. te proberen die functie op het iframe element te gebruiken?
Dat is het dus niet, ik roep het niet aan vanuit nieuws.html, wat zich in het iframe bevindt, maar vanuit de index.html. De knoppen bevinden zich dus buiten het iframe ;-). Wellicht zou ik parent nog kunnen vervangen door window om het iets duidelijker te houden.

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
IceBlackz schreef op dinsdag 31 juli 2012 @ 22:14:
Dat is het dus niet, ik roep het niet aan vanuit nieuws.html, wat zich in het iframe bevindt, maar vanuit de index.html. De knoppen bevinden zich dus buiten het iframe ;-). Wellicht zou ik parent nog kunnen vervangen door window om het iets duidelijker te houden.
Aha. In dat geval krijg je inderdaad iets wat een stuk simpeler is. :)

Acties:
  • 0 Henk 'm!

Verwijderd

Pagina: 1