HighDots Forums  

IFrame "scroll to top"

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss IFrame "scroll to top" in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Andreas
 
Posts: n/a

Default IFrame "scroll to top" - 04-11-2005 , 05:50 PM






Hallo,

ich binde externen Content per IFrame in meine Website ein.

Innerhalb dieses IFrames ist ein Bestellformular (etwas länglich). Füllt man
dieses aus wird gerät auf der Website weiter und weiter nach unten.
Klickt man nun auf Absenden gelangt man auf die Bestätigungsseite die
weniger länglich ist und da bei diesem Wechsel nicht automatisch nach oben
gescrolled wird sieht man nur ne blank white page.

Ich hab autoscrollup per Javascript versucht, aber ich bekomms nicht hin.

Habe onLoad="scrollTo(0,0)" im IFrame und im BODY des Parentfensters
versucht...

Hat jmd. eine Idee?

Danke.



Reply With Quote
  #2  
Old   
Dietmar Meier
 
Posts: n/a

Default Re: IFrame "scroll to top" - 04-12-2005 , 06:44 AM






Andreas wrote:
^^^^^^^ bitte reparieren, Andreas #47110815.

Quote:
Klickt man nun auf Absenden gelangt man auf die Bestätigungsseite die
weniger länglich ist und da bei diesem Wechsel nicht automatisch nach
oben gescrolled wird sieht man nur ne blank white page.
Welche(r) Brauser, welche(s) OS(e)? Link zu einem Testcase?
Glaskugel: schau mal, ob die Hinweise in [1] hier (entsprechend)
weiterhelfen.

[1] http://www.google.de/groups?selm=352...individual.net

ciao, dhgm



Reply With Quote
  #3  
Old   
Martin Honnen
 
Posts: n/a

Default Re: IFrame "scroll to top" - 04-12-2005 , 07:01 AM





Andreas wrote:


Quote:
ich binde externen Content per IFrame in meine Website ein.

Habe onLoad="scrollTo(0,0)" im IFrame und im BODY des Parentfensters
versucht...
Per
<body onload="window.scrollTo(0, 0);">
im Iframe-Dokument sollte das schon funktonieren.

--

Martin Honnen
http://JavaScript.FAQTs.com/


Reply With Quote
  #4  
Old   
Kai Hoe
 
Posts: n/a

Default Re: IFrame "scroll to top" - 04-12-2005 , 08:06 AM



Martin Honnen schrieb:
Quote:
[...]
Per
body onload="window.scrollTo(0, 0);"
im Iframe-Dokument sollte das schon funktonieren.

Ich vermute, das er auf den externen Content im iFrame keinen Zugriff
hat und daher eine Lösung "von außen" sucht...

Kai


Reply With Quote
  #5  
Old   
Andreas
 
Posts: n/a

Default Re: IFrame "scroll to top" - 04-12-2005 , 10:25 AM




"Kai Hoe" <kai.h (AT) mail (DOT) ru> wrote

Quote:
Martin Honnen schrieb:
[...]
Per
body onload="window.scrollTo(0, 0);"
im Iframe-Dokument sollte das schon funktonieren.


Ich vermute, das er auf den externen Content im iFrame keinen Zugriff
hat und daher eine Lösung "von außen" sucht...
Ich habe Zugriff auf das Dokument dass das IFRAME einbindet und auf den
"externen Code".
Ich hab genau dass was vorgeschlagen wurde <body onload="window.scrollTo(0,
0);"> bereits probiert (also, im, BODY des "externen Code"), aber es haut
nicht hin - for whatever reason.
Ich habe auch parent.scrollTo versucht, was irgendwie noch eher hinhauen
müßte, aber auch das funktioniert nicht. Da zeigt mir der IE dann ein
"Access denied" Meldung an...

Testcase: www.aquapur-wasserbetten.com -> auf Bestellen gehen (einmal auf
Bestellen klicken ist ok um das Problem zu sehen - dann geht auch noch keine
Bestellung raus).

Browser: IE 6.0
OS: WinXP

Danke Euch!




Reply With Quote
  #6  
Old   
Kai Hoe
 
Posts: n/a

Default Re: IFrame "scroll to top" - 04-12-2005 , 01:56 PM



Andreas schrieb:
Quote:
[...]
Per
body onload="window.scrollTo(0, 0);"
im Iframe-Dokument sollte das schon funktonieren.


Ich vermute, das er auf den externen Content im iFrame keinen Zugriff
hat und daher eine Lösung "von außen" sucht...


Ich habe Zugriff auf das Dokument dass das IFRAME einbindet und auf den
"externen Code".
Ich hab genau dass was vorgeschlagen wurde <body onload="window.scrollTo(0,
0);"> bereits probiert (also, im, BODY des "externen Code"), aber es haut
nicht hin - for whatever reason.
Ich habe auch parent.scrollTo versucht, was irgendwie noch eher hinhauen
müßte, aber auch das funktioniert nicht. Da zeigt mir der IE dann ein
"Access denied" Meldung an...

Da gibt es ein Problem mit den Zugriffsrechten. Am einfachsten wohl
dadurch zu umgehen, dass vom iFrame eine Funktion im parent-Frame
aufgerufen wird. Eine möglich Lösung wäre:

Im iFrame: <body onload="top.hoch()">

und im parent die Funktion, die das Problem löst:

function hoch(){
window.scrollTo(0, 0);
}

Grüße
Kai


Reply With Quote
  #7  
Old   
Andreas
 
Posts: n/a

Default Re: IFrame "scroll to top" - 04-12-2005 , 02:08 PM



Hallo..

"Kai Hoe" <kai.h (AT) mail (DOT) ru> wrote

Quote:
Andreas schrieb:
[...]
Per
body onload="window.scrollTo(0, 0);"
im Iframe-Dokument sollte das schon funktonieren.


Ich vermute, das er auf den externen Content im iFrame keinen Zugriff
hat und daher eine Lösung "von außen" sucht...


Ich habe Zugriff auf das Dokument dass das IFRAME einbindet und auf den
"externen Code".
Ich hab genau dass was vorgeschlagen wurde <body
onload="window.scrollTo(0,
0);"> bereits probiert (also, im, BODY des "externen Code"), aber es
haut
nicht hin - for whatever reason.
Ich habe auch parent.scrollTo versucht, was irgendwie noch eher hinhauen
müßte, aber auch das funktioniert nicht. Da zeigt mir der IE dann ein
"Access denied" Meldung an...


Da gibt es ein Problem mit den Zugriffsrechten. Am einfachsten wohl
dadurch zu umgehen, dass vom iFrame eine Funktion im parent-Frame
aufgerufen wird. Eine möglich Lösung wäre:

Im iFrame: <body onload="top.hoch()"

und im parent die Funktion, die das Problem löst:

function hoch(){
window.scrollTo(0, 0);
}
Das bringt genausowenig:

Im IFRAME:

<body onload="top.scroller()">

Im File dass das IFRAME einbindet:

<SCRIPT>
function scroller(){
window.scrollTo(0, 0);
}
</SCRIPT>

Dabei habe ich due Funktion sowohl mal im HEAD Teil, also auch im BODY Teil
definiert...
Ich bin zwar kein JS Experte, aber so schwer kann das doch nicht sein, oder?




Reply With Quote
  #8  
Old   
Andreas
 
Posts: n/a

Default Re: IFrame "scroll to top" - 04-12-2005 , 02:10 PM



Die Fehlermeldung im IE ist übrigens:

Object does not support property or method (in der Zeile des <body
onload="...").



Reply With Quote
  #9  
Old   
Kai Hoe
 
Posts: n/a

Default Re: IFrame "scroll to top" - 04-12-2005 , 03:15 PM



Andreas schrieb:
Quote:
Die Fehlermeldung im IE ist übrigens:

Object does not support property or method (in der Zeile des <body
onload="...").


Oooops, da habe ich den Unterschied in den TLD's nicht gesehen.

Zitat selfhtml:
Bedenken Sie hierbei nur, dass Sie mit ihrem Frameset keine
Domaingrenzen überschreiten. Ist dies der Fall, wird Javascript sich mit
der Meldung "Zugriff verweigert" melden. Diese Meldung kann nicht
umgangen werden, sie ist elementares Sicherheitsfeature in Javascript
und ein deutliches Zeichen dafür, dass Sie ihr Konzept ändern müssen.
Domaingrenzen sind übrigens sehr streng ausgelegt.
Zitat Ende.

Wenn es auf der .com php gibt, könnte in dem iFrame eine Datei von der
..com geladen werden (nur mit dem include- bzw. require-tag, sonst leer),
die die konfigurator.php (kompletter URI) von der .de included. Dann
wäre für JS alles innerhalb der .com-Domain und es geht.

Kai


Reply With Quote
  #10  
Old   
Andreas
 
Posts: n/a

Default Re: IFrame "scroll to top" - 04-12-2005 , 03:36 PM



Hi!

"Kai Hoe" <kai.h (AT) mail (DOT) ru> wrote

Quote:
Andreas schrieb:
Die Fehlermeldung im IE ist übrigens:

Object does not support property or method (in der Zeile des <body
onload="...").


Oooops, da habe ich den Unterschied in den TLD's nicht gesehen.

Zitat selfhtml:
Bedenken Sie hierbei nur, dass Sie mit ihrem Frameset keine
Domaingrenzen überschreiten. Ist dies der Fall, wird Javascript sich mit
der Meldung "Zugriff verweigert" melden. Diese Meldung kann nicht
umgangen werden, sie ist elementares Sicherheitsfeature in Javascript
und ein deutliches Zeichen dafür, dass Sie ihr Konzept ändern müssen.
Domaingrenzen sind übrigens sehr streng ausgelegt.
Zitat Ende.

Wenn es auf der .com php gibt, könnte in dem iFrame eine Datei von der
.com geladen werden (nur mit dem include- bzw. require-tag, sonst leer),
die die konfigurator.php (kompletter URI) von der .de included. Dann
wäre für JS alles innerhalb der .com-Domain und es geht.

Kai
Tja, genau das ist das Problem... auf der .com gibts kein PHP :-(
Aber ich habs anders gemacht:
Das action attr im form tag sieht jetzt so aus:

action="<?= $_SERVER['PHP_SELF'] ?>#top"

Und es gibt halt nen Anker <a name="top"/> :-)

Trotzdem danke...




Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.