Не так давно сервис video.mail.ru сделал гадость: теперь при вставке роликов с него на свой сайт, нет возможности развернуть ролик на весь экран - для этого надо перейти непосредственно на сайт мэйла. Неприятно? Пожалуй. А выход есть? Есть. Решение нашлось на одном форуме
Разворачиваем флэш через JavaScript функцию
<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-6. Вывод флэшки для IE. Не забываем установить name и id для тегов со значением movie - по нему будет разыскиваться ролик,к оторый надо увеличить.
-
Строки 7-10. Вывод флэшки для нормальных браузеров. Как и для предыдущего пункта, не забываем про name.
-
Строки 11-12 и 13-14. Кнопки "свернуть" и "развернуть", которым привязана созданная нами функция resize. Она либо не принимает значений, либо принимает их 2 - исходную ширину и высоту. Это не обязательно кнопками делать, можно обычными ссылками a.
-
Строка 16. Создаём нашу функцию resize.
-
Строка 17. Объявляем переменную flash, которая будет содержать, грубо говоря, ссылку на нашу флэшку. Переменная ищет флэш-ролик через window или document: один используется для поиска по name, другой по id.
-
Строка 18. Если функции не были переданы значения ширины и высоты, то…
-
Строки 19-20. Флэшка разворачивается на 100%.
-
Строки 21-24. А если значения были переданы, то они и присваиваются флэшке.
Вот и всё. В принципе функцию можно усовершенствовать, добавив третьим параметром название флэшки (которое задавалось для id и name). Тогда функцию можно применять для нескольких флэш-роликов на странице - кнопки к каждой из них будут свои.
Удачи в Ваших начинаниях! И держимся, ещё один рабочий день и будет всем счастье! =)
Похожие записи:
- Как определить "разрешение экрана" и "размер окна браузера" на JavaScript и jQuery
- Как выделить все чекбоксы одним кликом? JavaScript способ, и три способа на jQuery
- Как сделать кнопку "наверх" как вКонтакте
- Как запретить выделение контента в браузерах, универсальное решение
- Улучшаем AJAX галерею jQuery Lightbox (часть 2) – подгон изображения по ширине и высоте браузера
18/03/2010 at 23:13 Постоянная ссылка Цитировать
Вот за это тебе огромное спасибо…
Не знал что так можно…
18/03/2010 at 23:25 Постоянная ссылка Цитировать
всегда пожалуйста =)
правда я сам лично обкатать не успел скрипт, но мой друг пользуется, доволен
31/03/2010 at 19:28 Постоянная ссылка Цитировать
А как насчет еще проверки и автоматического подставления пути flash?
01/04/2010 at 0:05 Постоянная ссылка Цитировать
проверки чего? =)
а подставлять можно через php. определять путь флэша в переменную и выводить эту переменную в двух местах (4 и 9 строки)
26/05/2010 at 7:53 Постоянная ссылка Цитировать
здраствуйте Александр.У меня этот JS работает(разобрался).единственное я не могу несколько Flah-анимаций
.
вставить в один html-документ.Один Flash-аним. работает ,ставлю 2-ую анимауцию и JS-не работает.пробовал все… не получается….помогите пожалуйста.Заранее спасибо
С уважением:рахим
27/05/2010 at 0:20 Постоянная ссылка Цитировать
а всё потому, что скрипт ориентирован на одну флешку с именем movie. либо дублировать скрипт с другим именем, либо дописать функцию, передавая ей имя ролика.
27/05/2010 at 6:18 Постоянная ссылка Цитировать
я тоже пробовал дублировать скрипт и ставил другое имя флеша …но кнопки не срабатывали…Допиасть?а куда? И что именно?пробовал дописывать в 4-ю строчку неполучилось.
С уважением: Рахим
27/05/2010 at 9:49 Постоянная ссылка Цитировать
надо другое имя не только флеша менять, но и функции.
а про то как писать функции – это к учебникам =)
27/05/2010 at 12:13 Постоянная ссылка Цитировать
хотя бы подскажите пож-та
27/05/2010 at 12:16 Постоянная ссылка Цитировать
изменение должно быть в самой функции (17 строка, добавить переменную, передаваемую функции – в данном случае должна быть переменная с названием клипа) и при вызове функции (12 и 14 строки, функции должны передаться названия клипа)
28/05/2010 at 13:22 Постоянная ссылка Цитировать
Помогите пож-та решить эту проблему вопрс очень важный
04/05/2012 at 10:54 Постоянная ссылка Цитировать
очень жаль. Надеялся хоть тут увидеть полноэкранный режим а не просто развретку (
04/05/2012 at 11:46 Постоянная ссылка Цитировать
ну, когда нет возможности делать иначе, а делать надо, то приходится делать именно так, увы
06/05/2012 at 15:20 Постоянная ссылка Цитировать
вообще возможность есть. Action script . Наглядный пример тот же ютуб.
06/05/2012 at 15:34 Постоянная ссылка Цитировать
Прочитайте внимательнее вступление к статье.
06/05/2012 at 15:42 Постоянная ссылка Цитировать
вот по этому я и огорчился. вообще как бе способ и через Js есть. Даже два.
Первый все же требует участия action script.
Второй просто дополнение вашего. Отличие перевод браузера в полноэкранный режим.
P.S. проблема в названии статьи :Экран больше чем окно браузера.
07/05/2012 at 22:47 Постоянная ссылка Цитировать
Мы друг друга недопонимаем, как мне кажется. Я прекрасно понимаю, что через экшн скрипт можно всё сделать, но! Речь идёт о том, что когда работаешь с видеосервисом и получаешь код видео для вставки куда-то, то не всегда есть кнопка развернуть на весь экран. А что делать, если ей нет? Правильно, изгаляться через яваскрипт.
08/05/2012 at 17:33 Постоянная ссылка Цитировать
Да действительно в начале я прочел только название статьи и код.
Но согласитесь название статьи не корректно.
Я кстати говорил, что в JS есть способ перевести браузер в полноэранный режим.
08/05/2012 at 17:43 Постоянная ссылка Цитировать
не соглашусь, так как название статьи полностью соответствует содержанию.
по поводу полноэкранного режима браузера – это вы про F11 средствами js?
08/05/2012 at 17:44 Постоянная ссылка Цитировать
именно.
Т. Е. по вашему окно браузера это полный экран?
08/05/2012 at 17:59 Постоянная ссылка Цитировать
всё, наконец-то я понял о чём вы. полностью согласен. необходимо дописать код, чтобы он растягивал не в размер окна браузера, а именно в полноэкранный режим.
ммм, а что за способ без экшн скрипта, который активирует ф11? window.open?
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;
});
10/05/2012 at 11:22 Постоянная ссылка Цитировать
Ок, спасибо, потом потыркаюсь на тему оперы, попробуем, чтобы он заработал
26/02/2017 at 15:30 Постоянная ссылка Цитировать
Здравствуйте. А что нужно прописать, чтобы этот скрипт находил флешку с любым именем?