Просмотр полной версии : Изменение размера флэшки на HTML странице
Muchacho
24.11.2005, 14:20
Возникла такая надобность: если содержимое мувика не вмещается в окне flash-плеера, размер плеера на HTML странице должен динамически увеличиться. Я попробовал сделать это JavaScript'ом, как делал бы это для любого другого объекта, например, картинки, но с swf'кой это не прокатывает.
Вот пример JavaScript'а на странице:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
<script language="JavaScript">
function some(obj){
document[obj].height = 22;
}
</script>
</head>
<body onLoad="some('fl')">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" name="fl" width="120" height="200" id="fl">
<param name="movie" value="square.swf">
<param name="quality" value="high">
<embed src="square.swf" width="120" height="200" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="fl"></embed>
</object>
</body>
</html>
A.SSpike
24.11.2005, 15:30
Все просто. В первом кадре прописываешь код:
Stage.align = "BL";
Stage.scaleMode = "noScale";
var res:Object = new Object ();
res.onResize = function () {
//тут прописываешь что будет происходить при изменении размера, например
_root.fon._width = Stage.width;
};
Stage.addListener(res);
Muchacho
24.11.2005, 16:45
A.SSpike, скопировал и вклеил твой код в первый кадр, и... ничего не меняется :(
Проблема в том, что я не могу изменить при помощи JavaScript размер самого flash-плеера, внедрённого в страницу.
Muchacho
24.11.2005, 16:54
JavaScript вообще "не видит" значения height для внедрённой флэшки.
Я попробовал изменить код таким образом:
alert(document[obj].height);
И в сообщении выводится "undefined"
Muchacho
24.11.2005, 16:59
Сорри, я не сказал, что тестирую в Опере. Сейчас открыл Эксплорером, и там скрипт работает корректно. Но ситуевина такова, что заказчик сайта заядлый линуксоид, и пользуется Оперой. Да и вообще, Опера у них в канторе на половине компов.
В общем, реально ли менять размер Flash-плеера не в Эксплорере?
A.SSpike
24.11.2005, 17:12
Вообще это достаточно странно. Код то ведь флэшовый, в данном случае от браузера ничего не зависит.
А ты тестируешь со своим java-кодом в хтмлке? попробуй выкини его нафиг.
Muchacho
24.11.2005, 17:45
A.SSpike, то, что касается изменения размеров объекта, расположенного на странице, путем JavaScript, касается именно браузера. Тот код, который ты привел, касается только реакции содержимого клипа на изменение размеров плеера, а мне нужно как раз размеры плеера менять. Но вообще, я разобрался! :)
Поместил клип в ячейку таблицы. Задал клипу размеры в 100% (а не в пикселях), что б он заполнил собой всю ячейку. А затем меняю размер ячейки из JavaScript (ячейке для этого, конечно, должен быть присвоен id)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
<script language="JavaScript">
function some(obj){
document.getElementById(obj).height = 336;
}
</script>
</head>
<body onLoad="some('myCell')">
<table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="30" height="30"> </td>
<td height="30"> </td>
<td height="30"> </td>
</tr>
<tr>
<td width="276" height="30" align="center" valign="middle" id="myCell"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100%" height="100%">
<param name="movie" value="square.swf">
<param name="quality" value="high">
<embed src="square.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="100%"></embed>
</object></td>
<td height="30"> </td>
<td height="30"> </td>
</tr>
<tr>
<td width="30"> </td>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
A.SSpike
24.11.2005, 18:04
Я не правильно понял задачу. Посмотри вот сюда www.rusal.ru. Шапка - флеш. Я думал что тебе именно это надо.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.