Das Problem ist nur teilweise mit dem dynamischen Iframe gelöst worden. Baut man den Rechner oben in die Website ein, dann funktioniert es.
Baue ich den Rechner am Ende des Content ein, dann scrollt der Iframe nach einer Usereingabe aber nicht an den Anfang des Iframes, sondern an den Anfang der Seite, in dem der Iframe eingebaut ist. Ursache dürfte der folgende Abschnitt im script sein:
window.scroll(0,0). Der User muss also erst wieder herunterscrollen, um das Ergebnis zu sehen. Da springt dann sicherlich ein gewisser %-Satz ab.
Ändere ich den Code auf
window.scrollTo(0,offsetTop) dann wird bereits beim ersten Seitenaufruf an den Anfang des Iframes gescrollt. Der User muss dann erst manuell an den Anfang meines Contents scrollen. Schlechte Usability und sicherlich auch ein gewisser Absprung.
Wie bekomme ich es hin, dass beim ersten Aufruf der Seite an
0,0 gescrollt wird und nach Usereigeben an
0,offsetTop?
Hier noch der komplette Code:
Code: Alles auswählen
<script type="text/javascript">
var c24resizer=new function(){var e=null;var t=2e3;this.load=function(t){e=t;if(e.contentWindow&&
e.contentWindow.postMessage){e.contentWindow.postMessage(location.protocol+"//"+location.hostname
+(location.port!==""?":":"")+location.port,"*")}};var n=function(n){t=parseInt(n.data);if(t===-1)
{window.scroll(0,0)}else if(e!==null){e.style.height=t+"px"}};if(window.addEventListener){
addEventListener("message",n,false)}else{attachEvent("onmessage",n)}}
</script>
<iframe onload="c24resizer.load(this);" src="http://a.check24.net/misc/click.php?pid=XXXXX&aid=48&product_id=1&mode=normal-online" width="615" height="4250" name="vergleich" marginwidth=0 marginheight=0 border="0" frameborder="0" scrolling="no"></iframe>