Как развернуть flash на весь экран при помощи JavaScript?

« Предыдущая запись
 
  Следующая запись »
 

fla Как развернуть flash на весь экран при помощи JavaScript? Не так давно сервис video.mail.ru сделал гадость: теперь при вставке роликов с него на свой сайт, нет возможности развернуть ролик на весь экран - для этого надо перейти непосредственно на сайт мэйла. Неприятно? Пожалуй. А выход есть? Есть. Решение нашлось на одном форуме (ссылка).

Разворачиваем флэш через JavaScript функцию

<!--[if IE]>
   <object id="movie" type="application/x-shockwave-flash" width="450" height="300">
      <param name="movie" value="movie_name.swf">
   </object>
<![endif]-->
<!--[if !IE]> <-->
   <embed name="movie" type="application/x-shockwave-flash" src="movie_name.swf" width="450" height="300"></embed>
<!--> <![endif]-->
<input type="button" value="Развернуть" onclick="javascript:resize()">
<input type="button" value="Свернуть" onclick="javascript:resize(450,300)">
<script type="text/javascript">
   function resize (x,y) {
      var flash = window.movie || document.movie;
      if ( (x == undefined) && (y == undefined) ) {
         flash.width = '100%';
         flash.height = '100%';
      }
      else {
         flash.width = x + 'px';
         flash.height = y + 'px';
      }
   }
</script>
  1. Строка 1-6. Вывод флэшки для IE. Не забываем установить name и id для тегов со значением movie - по нему будет разыскиваться ролик,к оторый надо увеличить.
  2. Строки 7-10. Вывод флэшки для нормальных браузеров. Как и для предыдущего пункта, не забываем про name.
  3. Строки 11-12 и 13-14. Кнопки "свернуть" и "развернуть", которым привязана созданная нами функция resize. Она либо не принимает значений, либо принимает их 2 - исходную ширину и высоту. Это не обязательно кнопками делать, можно обычными ссылками a.
  4. Строка 16. Создаём нашу функцию resize.
  5. Строка 17. Объявляем переменную flash, которая будет содержать, грубо говоря, ссылку на нашу флэшку. Переменная ищет флэш-ролик через window или document: один используется для поиска по name, другой по id.
  6. Строка 18. Если функции не были переданы значения ширины и высоты, то…
  7. Строки 19-20. Флэшка разворачивается на 100%.
  8. Строки 21-24. А если значения были переданы, то они и присваиваются флэшке.

 

Вот и всё. В принципе функцию можно усовершенствовать, добавив третьим параметром название флэшки (которое задавалось для id и name). Тогда функцию можно применять для нескольких флэш-роликов на странице - кнопки к каждой из них будут свои.

Удачи в Ваших начинаниях! И держимся, ещё один рабочий день и будет всем счастье! =)

,

1 звезда2 звезд3 звезд4 звезд5 звезд (голосов: 1, средний: 3.00 из 5)
Понравилась статья или журнал? Подписывайся на продолжение!
Отзывов: 23 на запись

"Как развернуть flash на весь экран при помощи JavaScript?"

  1. Вот за это тебе огромное спасибо…
    Не знал что так можно…

  2. всегда пожалуйста =)
    правда я сам лично обкатать не успел скрипт, но мой друг пользуется, доволен

  3. А как насчет еще проверки и автоматического подставления пути flash?

  4. проверки чего? =)
    а подставлять можно через php. определять путь флэша в переменную и выводить эту переменную в двух местах (4 и 9 строки)

  5. здраствуйте Александр.У меня этот JS работает(разобрался).единственное я не могу несколько Flah-анимаций
    вставить в один html-документ.Один Flash-аним. работает ,ставлю 2-ую анимауцию и JS-не работает.пробовал все… не получается….помогите пожалуйста.Заранее спасибо :) .
    С уважением:рахим

  6. а всё потому, что скрипт ориентирован на одну флешку с именем movie. либо дублировать скрипт с другим именем, либо дописать функцию, передавая ей имя ролика.

  7. я тоже пробовал дублировать скрипт и ставил другое имя флеша …но кнопки не срабатывали…Допиасть?а куда? И что именно?пробовал дописывать в 4-ю строчку неполучилось.
    С уважением: Рахим

  8. надо другое имя не только флеша менять, но и функции.

    а про то как писать функции – это к учебникам =)

  9. хотя бы подскажите пож-та :)

  10. изменение должно быть в самой функции (17 строка, добавить переменную, передаваемую функции – в данном случае должна быть переменная с названием клипа) и при вызове функции (12 и 14 строки, функции должны передаться названия клипа)

  11. Помогите пож-та решить эту проблему вопрс очень важный

  12. Валерий
    04/05/2012 at 10:54 Постоянная ссылка Цитировать

    очень жаль. Надеялся хоть тут увидеть полноэкранный режим а не просто развретку (

  13. Александр Шуйский
    04/05/2012 at 11:46 Постоянная ссылка Цитировать

    ну, когда нет возможности делать иначе, а делать надо, то приходится делать именно так, увы

  14. Валерий
    06/05/2012 at 15:20 Постоянная ссылка Цитировать

    вообще возможность есть. Action script . Наглядный пример тот же ютуб.

  15. Александр Шуйский
    06/05/2012 at 15:34 Постоянная ссылка Цитировать

    Прочитайте внимательнее вступление к статье.

  16. Валерий
    06/05/2012 at 15:42 Постоянная ссылка Цитировать

    вот по этому я и огорчился. вообще как бе способ и через Js есть. Даже два.
    Первый все же требует участия action script.
    Второй просто дополнение вашего. Отличие перевод браузера в полноэкранный режим.

    P.S. проблема в названии статьи :Экран больше чем окно браузера.

  17. Александр Шуйский
    07/05/2012 at 22:47 Постоянная ссылка Цитировать

    Мы друг друга недопонимаем, как мне кажется. Я прекрасно понимаю, что через экшн скрипт можно всё сделать, но! Речь идёт о том, что когда работаешь с видеосервисом и получаешь код видео для вставки куда-то, то не всегда есть кнопка развернуть на весь экран. А что делать, если ей нет? Правильно, изгаляться через яваскрипт.

  18. Валерий
    08/05/2012 at 17:33 Постоянная ссылка Цитировать

    Да действительно в начале я прочел только название статьи и код.
    Но согласитесь название статьи не корректно.
    Я кстати говорил, что в JS есть способ перевести браузер в полноэранный режим.

  19. Александр Шуйский
    08/05/2012 at 17:43 Постоянная ссылка Цитировать

    не соглашусь, так как название статьи полностью соответствует содержанию.
    по поводу полноэкранного режима браузера – это вы про F11 средствами js?

  20. Валерий
    08/05/2012 at 17:44 Постоянная ссылка Цитировать

    именно.
    Т. Е. по вашему окно браузера это полный экран?

  21. Александр Шуйский
    08/05/2012 at 17:59 Постоянная ссылка Цитировать

    всё, наконец-то я понял о чём вы. полностью согласен. необходимо дописать код, чтобы он растягивал не в размер окна браузера, а именно в полноэкранный режим.
    ммм, а что за способ без экшн скрипта, который активирует ф11? window.open?

  22. Валерий
    10/05/2012 at 11:12 Постоянная ссылка Цитировать

    Скрипт не работает в опере

    $(‘a’).click(function () {

    var element = document.body;
    var req = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen;

    if(req)
    req.call(element);
    else
    {
    var wscript = new ActiveXObject(“Wscript.shell”);
    wscript.SendKeys(“{F11}”);
    }

    return false;

    });

  23. Александр Шуйский
    10/05/2012 at 11:22 Постоянная ссылка Цитировать

    Ок, спасибо, потом потыркаюсь на тему оперы, попробуем, чтобы он заработал

Добро пожаловать, коллега! Вы можете оставить свой отзыв:





Допустимые XHTML-теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Подписка на комментарии