Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.11.2005, 14:20
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 1  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
По умолчанию Изменение размера флэшки на HTML странице

Возникла такая надобность: если содержимое мувика не вмещается в окне 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>

Старый 24.11.2005, 15:30
A.SSpike вне форума Посмотреть профиль Отправить личное сообщение для A.SSpike Найти все сообщения от A.SSpike
  № 2  
Ответить с цитированием
A.SSpike

Регистрация: Nov 2005
Сообщений: 15
Все просто. В первом кадре прописываешь код:
Stage.align = "BL";
Stage.scaleMode = "noScale";
var res:Object = new Object ();

res.onResize = function () {
//тут прописываешь что будет происходить при изменении размера, например
_root.fon._width = Stage.width;

};
Stage.addListener(res);

Старый 24.11.2005, 16:45
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 3  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
A.SSpike, скопировал и вклеил твой код в первый кадр, и... ничего не меняется

Проблема в том, что я не могу изменить при помощи JavaScript размер самого flash-плеера, внедрённого в страницу.


Последний раз редактировалось Muchacho; 24.11.2005 в 16:49.
Старый 24.11.2005, 16:54
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 4  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
JavaScript вообще "не видит" значения height для внедрённой флэшки.
Я попробовал изменить код таким образом:
alert(document[obj].height);
И в сообщении выводится "undefined"

Старый 24.11.2005, 16:59
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 5  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
Сорри, я не сказал, что тестирую в Опере. Сейчас открыл Эксплорером, и там скрипт работает корректно. Но ситуевина такова, что заказчик сайта заядлый линуксоид, и пользуется Оперой. Да и вообще, Опера у них в канторе на половине компов.

В общем, реально ли менять размер Flash-плеера не в Эксплорере?

Старый 24.11.2005, 17:12
A.SSpike вне форума Посмотреть профиль Отправить личное сообщение для A.SSpike Найти все сообщения от A.SSpike
  № 6  
Ответить с цитированием
A.SSpike

Регистрация: Nov 2005
Сообщений: 15
Вообще это достаточно странно. Код то ведь флэшовый, в данном случае от браузера ничего не зависит.
А ты тестируешь со своим java-кодом в хтмлке? попробуй выкини его нафиг.

Старый 24.11.2005, 17:45
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 7  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
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">&nbsp;</td>
    <td height="30">&nbsp;</td>
    <td height="30">&nbsp;</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">&nbsp;</td>
    <td height="30">&nbsp;</td>
  </tr>
  <tr>
    <td width="30">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>

Старый 24.11.2005, 18:04
A.SSpike вне форума Посмотреть профиль Отправить личное сообщение для A.SSpike Найти все сообщения от A.SSpike
  № 8  
Ответить с цитированием
A.SSpike

Регистрация: Nov 2005
Сообщений: 15
Я не правильно понял задачу. Посмотри вот сюда www.rusal.ru. Шапка - флеш. Я думал что тебе именно это надо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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