# iframe per javascript vertikal scrollen



## phonoline (11. Januar 2007)

Hallo liebe User,

folgendes Problem taucht bei der Gestaltung und Umsetzung einer Seite auf (HTML+CSS): Bei Einbindung eines iframes möchte ich verhindern, dass der horizontale Scrollbalken auftaucht. Alle bisherigen CSS-Möglichkeiten sind ausgeschöpft, also: Javascript . Diverse Google-Suchen haben bisher fast nichts gebracht. Das Prob ist bekannt, nur die Lösung noch nicht.:grin: 

Ich bin also auf der Suche nach einem Script, mit dem ich einen iframe (nicht veränderbare externe Quelle) vertikal scrollen kann. 
Folgendes Script habe ich schon probiert: Scrolling Iframe Content Vertically. Funktioniert natürlich prächtig. Problem: ich kopiere den gesamten Quelltext, setze eine andere Quelle anstelle des iframes scroll-v1.html ein, nämlich eine EXTERNE mit http://www...., und plötzlich geht nix mehr. Weder in IE, noch in Opera, Firefox etc..

Was muss ich ändern? Gibt es Alternativen?
Leider bin ich Scriptsprachenlegastheniker und kann aus einem Code nicht viel herauserkennen. Ich entschuldige mich also im Voraus.  
Vielen dank für Anregungen & Tipps!
Alex

Hier die Daten:


```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Scrolling Iframe Content Vertically</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="robots" content="noindex,nofollow"> 
<style type="text/css">
body { font: 14px/1.3 verdana, arial, helvetica, sans-serif }
h1 { font-size:18px }	
a:link { color:#33c }	
a:visited { color:#339 }	

iframe { border: 1px dashed #666 }
div.arrows { width:300px; text-align:center }
div.arrows img { padding:8px }
</style>
<script type="text/javascript">
/*************************************************************************
  This code is from Dynamic Web Coding at http://www.dyn-web.com/
  See Terms of Use at http://www.dyn-web.com/bus/terms.html
  regarding conditions under which you may use this code.
  This notice must be retained in the code as is!
*************************************************************************/

var timer_id;
function scroll_iframe(frm,inc,dir) {
  if (timer_id) clearTimeout(timer_id);
  if (window.frames[frm]) {
    if (dir == "v") window.frames[frm].scrollBy(0, inc);
    else window.frames[frm].scrollBy(inc, 0);
    timer_id = setTimeout("scroll_iframe('" + frm + "'," + inc + ",'" + dir + "')", 20);
  }
}

function stopScroll() { if (timer_id) clearTimeout(timer_id); }
</script>
</head>
<body>

<iframe name="scr1" id="scr1" scrolling="no" src="scroll-v1.html" width="300" height="200" frameborder="0">Sorry, your browser doesn't support iframes.</iframe>

<div class="arrows">
  <a href="javascript:;" onmouseover="scroll_iframe('scr1', -4, 'v'); window.status='Hover here to scroll up.'; return true" onmouseout="stopScroll(); window.status=''; return true"><img src="../../images/nav/tri-up.gif" width="12" height="12" alt="" border="0"></a> 
  <a href="javascript:;" onmouseover="scroll_iframe('scr1', 4, 'v'); window.status='Hover here to scroll down.'; return true" onmouseout="stopScroll(); window.status=''; return true"><img src="../../images/nav/tri-dn.gif" width="12" height="12" alt="" border="0"></a>
</div>

<p>Please read dyn-web's <a href="http://www.dyn-web.com/bus/terms.html">Terms of Use</a> if you plan to use our code.</p>

<p><a href="http://www.dyn-web.com/">www.dyn-web.com</a></p>

</body>
</html>
```


----------



## Sven Mintel (12. Januar 2007)

phonoline hat gesagt.:


> Was muss ich ändern? Gibt es Alternativen?


...
Nichts. Nein 

Ein Blick in die Javascript-Konsole wird dir die betreffende Fehlermeldung offenbaren: *Zugriff verweigert.*

Es ist eine Sicherheitsbeschränkung von JS, dass eine Seite von Domain A keinen Zugriff auf eine Seite von Domain B haben kann.


----------



## phonoline (12. Januar 2007)

Ha! Lösung (und funktioniert von Server zu Server   )!

Ich setze statt der externen URL einfach eine interne HTML Datei .z.b. "frame.html" in den iframe, die wiederum die externe URL in einem iframe beinhaltet. Diese HTML-Datei wird natürlich in ihren Maßen großzügig den Maßen der externen URL angepasst. Die index.html, also die HTML-Datei, in der per Javascript gescrollt werden soll, enthält den Javascript-code und den iframe zur internen "frame.html". Zack, fertich is der lack!  Klappt bisher in allen Browsern.


```
<html>
<body>
<iframe id="frame" name="frame" scrolling="no" src="http://www.***.net" frameborder="0" width="800px" height="1500px" align="center">Sorry, your browser doesn't support iframes.</iframe>
</body>
</html>
```

*// EDIT*

*schulterklopf*  daran habe ich jetzt Stunden gesessen... 

Jetzt brauch ich eigentlich nur noch ein Script, dass mir neben dem Auf und Ab-Scrollen auch erlaubt, per Mausklick (auf einen Button) zum oberen Anfang des iframes schnell zurückzukommen. Also so ähnlich wie einen Anker werfen. Wie könnte das aussehen?


----------

