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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Mar 2009
Сообщений: 62
По умолчанию Динамическая смена атрибута

Я вставляю флешку на страницу с помощью SWFObject. Вопрос такой: можно ли потом, уже после вставки поменять атрибут wmode. Или хотя бы бекграунд ?
__________________
Super Blog

Старый 22.05.2010, 02:40
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Меняйте. Можете с помощью JS, например.

Старый 22.05.2010, 20:54
BleSSeD вне форума Посмотреть профиль Отправить личное сообщение для BleSSeD Найти все сообщения от BleSSeD
  № 3  
Ответить с цитированием
BleSSeD

Регистрация: Mar 2009
Сообщений: 62
А как это сделать? Разве флеш реагирует на JS?
Цитата:
$('embed').attr('wmode', 'opaque');
Так не работает.
__________________
Super Blog

Старый 22.05.2010, 21:07
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Не будет работать.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.05.2010, 21:08
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вам же к не флешке нужно обращаться с помощью JS.
Просто делайте перепубликацию - меняйте или wmode или bgcolor.

Если хотите, то и к флешке можно легко обратиться с помощью класса ExternalInterface, который есть и в AS2 и в AS3. Откройте хелп и найдите пример для класса ExternalInterface.addCallback. Что угодно можно изменить в ней на "ходу".

Старый 22.05.2010, 23:35
BleSSeD вне форума Посмотреть профиль Отправить личное сообщение для BleSSeD Найти все сообщения от BleSSeD
  № 6  
Ответить с цитированием
BleSSeD

Регистрация: Mar 2009
Сообщений: 62
Ну так wmode задаеться с помощью джава скрипта. А как прямо через АС3 задать wmode ?
__________________
Super Blog

Старый 23.05.2010, 00:08
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Никак.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 23.05.2010, 00:10
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Можно использовать класс ExternalInterface. Вызываете из флешки с его помощью JS-функцию и перепубликовываете как хотите.

Вот вам близкий пример на AS2. Меняем размеры блока, в котором опубликована флешка:
Код AS1/AS2:
import flash.external.*;
var blockWidth:String = '500px';
var blockHeight:String = '100px';
var javaScriptFunction:String = 'function setSize() { var flash = document.getElementById("flash"); flash.style.width = "' + blockWidth +'"; flash.style.height = "' + blockHeight +'"; }';
ExternalInterface.call (javaScriptFunction); //в нужный момент вызываем
В данном примере блок <div> с флешкой должен иметь id="flash"
Просто напишите функцию, которая будет перепубликовывать флешку и вызывайте ее из флеша с помощью ExternalInterface.call


Последний раз редактировалось mooncar; 23.05.2010 в 00:15.
Старый 23.05.2010, 00:54
BleSSeD вне форума Посмотреть профиль Отправить личное сообщение для BleSSeD Найти все сообщения от BleSSeD
  № 9  
Ответить с цитированием
BleSSeD

Регистрация: Mar 2009
Сообщений: 62
Нет, мне нужно джава скриптом изменить атрибут флеша. Это не через действие флешки, а через действие пользователя на странице. Изменить wmode. насколько я понял это нужно джава скриптом передать в флешку команду, и сама флешка изменит свой wmode ?
__________________
Super Blog

Старый 23.05.2010, 00:57
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вам в процессе выполнения флешки нужно? То есть "после вставки" == "в процессе выполнения" ?
Видимо без перепубликации никак.

Цитата:
Сообщение от BleSSeD Посмотреть сообщение
насколько я понял это нужно джава скриптом передать в флешку команду, и сама флешка изменит свой wmode ?
Нет, не так.

Вообще:
ExternalInterface.call - вызывает JS-функцию на странице.
ExternalInterface.addCallback - вызывает со страницы функцию внутри флешки.

Я так понял, что вариант с изменяемой прозрачностью внутреннего фона флешки (когда она сама опубликована изначально прозрачной) - тоже подходящее решение, вот пример набросал:
http://21multihinge.ru/dyn/dyn.htm

Флешка публикуется изначально с wmode = 'transparent'.
Затем с помощью метода ExternalInterface.addCallback меняем прозрачность некого фона bg внутри флешки.

Если интересны подробности, то вот код AS2:
Код AS1/AS2:
import flash.external.*;
var setBg:Boolean = ExternalInterface.addCallback('setBackground', null, setBackgroundMode);
function setBackgroundMode (modes:String) {
	switch (modes) {
		case 'non_bg':
			bg._alpha = 0;
		break ;
		case 'with_bg':
			bg._alpha = 100;
		break ;
	}
 
	test.text = str + bg._alpha ;	
}
var str:String = 'Прозрачность фона = ';
Основной код на странице:
Код:
<head>
.....
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
function setWmode(mode) {
	var flash = document.getElementById("dynamic"); 
	flash.setBackground(mode);
}
</script>
</head>

<body>
....
<div style="width:240px; height:400px">
<div id="dynamic">
....
<script type="text/javascript">
var pFlashvars = false; 
var pParams= { menu: 'false', allowScriptAccess: 'always', allowFullScreen: 'false', quality: 'high', bgcolor: '#88909A', wmode: 'transparent' };
var pAttributes = false;
swfobject.embedSWF('dynattr.swf', 'dynamic', '240', '400', '8.0.0', 'expressInstall.swf', pFlashvars, pParams, pAttributes);
</script>
....
<input type="button" value="Отключить внутренний фон у флешки" onclick="setWmode('non_bg')" style="width:240px"/>
<input type="button" value="Включить внутренний фон у флешки" onclick="setWmode('with_bg')" style="width:240px"/>
....
</body>
</html>


Последний раз редактировалось mooncar; 23.05.2010 в 03:36.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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