Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   нужны полосы прокрутки в браузере (http://www.flasher.ru/forum/showthread.php?t=152607)

laliqui 20.03.2011 13:45

нужны полосы прокрутки в браузере
 
Доброго всем времени суток!

Проблема такая - есть флеш-ролик размера 992x652

Нужно сделать так, чтобы в браузере появлялись полосы прокрутки, если размер окна меньше размера ролика.

вот сам хтмл

Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title>index</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css">
        /*<![CDATA[*/
            html, body, #index {
                height: 100%;
                overflow: hidden;
            }
            body {
                background: #000000;
                font: 86% Arial, "Helvetica Neue", sans-serif;
                margin: 0;               
            }
        /*]]>*/
        </style>
        <script type="text/javascript" src="swfobject/swfobject.js"></script>
       
        <script type="text/javascript">
        /*<![CDATA[*/
            swfobject.embedSWF('index.swf', 'index', '100%', '100%', '9.0.45',
                'swfobject/expressinstall.swf', {domain: '*'}, {allowscriptaccess: 'always', bgcolor: '#000000', menu: 'false'}, {id: 'index'});
        /*]]>*/
        </script>
    </head>
    <body>
        <div id="index">
            <p>In order to view this page you need Flash Player 9+ support!</p>
            <p>
                <a href="http://www.adobe.com/go/getflashplayer">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                </a>
            </p>
        </div>
    </body>
</html>

вот код масштабирования во флеше
Код AS3:

stage.align=StageAlign.TOP_LEFT
stage.scaleMode=StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, resize)
 
function resize(e:Event=null):void {
        if (stage.stageHeight>height){
                y = (stage.stageHeight - 652)/2
        }
        x = (stage.stageWidth - 992)/2
}

В общем, все прекрасно работало и масштабировалось по центру, пока не понадобились полосы прокрутки при уменьшении размеров окна браузера.

Если вот эту строчку написать так (т.е. текущие размеры ролика)
Код:

swfobject.embedSWF('index.swf', 'index', '992', '652', '9.0.45',
то все съедет в левый верхний угол, но скролла так и не появится!

Подскажите, что делать?

mooncar 20.03.2011 16:48

Это задачка из HTML. Обычно браузер сам покажет прокрутку, если контент не влезает полностью в окно.
Поскольку у вас сейчас размеры никак не задаются с точки зрения структуры страницы, обрамите блок с флешкой в другой <div>, и задайте уже ему стилями нужные размеры.
Код:

      <div style="width:992px; height:652px">
        <div id="index">
            <p>In order to view this page you need Flash Player 9+ support!</p>
            <p>
                <a href="http://www.adobe.com/go/getflashplayer">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                </a>
            </p>
        </div>
    </div>



Часовой пояс GMT +4, время: 09:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.