flash-page zeigt keine scrollbalken

[ geschrieben am 15.11.2011 in blog: der maschinist | tags: #, #, #, #, #, # ]

adobe flash erstellt beim export ins .swf-format einige javascripts, die die vorhandene flash-version prüfen und entsprechend der analysierten situation den flash-film zeichnen oder nicht. offenbar bemerken browser nicht in jedem fall, wenn der inhalt möglicherweise die höhe des browserfensters überschreitet und scrollbars gezeichnet werden müssten. man kann die anzeige der scrollbars zwar per css erzwingen…

html {
height: 100%;
scrolling: yes;
overflow-y: scroll;
}

…jedoch wird auch dies im konkreten beispiel nur zur anzeige einer ausgegrauten/ inaktiven scrollleiste führen.

mit einem kleinen trick kann man jedoch erzwingen, dass der browser content erkennt, den er scrollbar machen muss: man legt einen 1px breiten und mit der höhe des flashfilmes identischen <div> container links (oder rechts) neben den flash content. in code gegossen sieht das dann wie folgt aus:

<html>
  <head>
    <title>Flashfilmchen scrollbar</title>
    <script language="JavaScript" src="js1.js"></script>
    <script language="JavaScript" src="js2.js"></script>
    <style type="text/css">
		* {
			margin: 0;
			padding: 0;
			border: 0;
		}
		html {
			height: 100%;
			scrolling: yes;
			overflow-y: scroll;
		}
		#forcescroll {
			float: left;
			height: 1030px;
			/* Hoehe des Flashfilmes */
			width: 1px;
		}
		#container {
			float: right;
			top: 0;
			left: 0;
			width: 99%;
			height: 99%;
			position: relative;
		} 
    </style>
  </head>
  <body>
    <div id="forcescroll"></div>
    <div id="container">
    <!--url's used in the movie-->
    <!--text used in the movie-->
    <script language="JavaScript" src="js3.js"></script> 
    <noscript>This content requires the Adobe Flash Player. 
    <a href="http://www.adobe.com/go/getflashplayer/">Get Flash</a></noscript></div>
  </body>
</html>

und, voìla … da ist er, der scrollbalken.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.