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

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

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

Регистрация: Jan 2008
Сообщений: 28
По умолчанию Неправильная работа Event.RESIZE в IE8 & SWFObject

Всем привет. Столкнулся с такой проблемой в Internet Explorer 8 при встраивании флешки с помощью такого вот SWFObject
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
	<head>
		<title></title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<script type="text/javascript" src="swfobject.js"></script>
		<script type="text/javascript">
			var flashvars = {};
			var params = {};
			params.quality = "best";
			params.scale = "exactfit";
			params.allowfullscreen = "true";
			var attributes = {};
			attributes.id = "flashContent";
			swfobject.embedSWF("site.swf", "myAlternativeContent", "100%", "100%", "10.0.0", false, flashvars, params, attributes);
		</script>
	</head>
	<body>

		<div id="myAlternativeContent">
			<a href="http://www.adobe.com/go/getflashplayer">
				<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
			</a>
		</div>
	</body>
</html>
После чего в самой флешке stage.stageHeight всегда равняется 192 и при любом размере окна и хоть ты тресни! При этом stage.stageWidth исправно меняется.

Событие ресайза цепляю stage.addEventListener(Event.RESIZE, defResize);

Может кто сталкивался с подобной проблемой или знает как решить?


Последний раз редактировалось Firexel; 11.10.2009 в 22:24.
Старый 11.10.2009, 23:46
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
params.scale = "exactfit";
При таком раскладе и не будет менятся. Нужно чтобы "noScale" был.
__________________
Hell is the possibility of sanity

Старый 11.10.2009, 23:57
Firexel вне форума Посмотреть профиль Отправить личное сообщение для Firexel Найти все сообщения от Firexel
  № 3  
Ответить с цитированием
Firexel

Регистрация: Jan 2008
Сообщений: 28
Поменял на "noscale". Ничего не изменилось.

Старый 12.10.2009, 00:01
Dimax4d вне форума Посмотреть профиль Отправить личное сообщение для Dimax4d Найти все сообщения от Dimax4d
  № 4  
Ответить с цитированием
Dimax4d
 
Аватар для Dimax4d

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
А если DOCTYPE сменить на 4.01, заработает? У меня аналогичная проблема решалась именно так. XHTML вроде как не поддерживает height 100%

Старый 12.10.2009, 00:11
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Эрм... еще раз и по порядку, у вас вообще высота флешки не меняется, или высота визуально меняется, ни флеш считает, что она не изменилась?
__________________
Hell is the possibility of sanity

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

Регистрация: Jan 2008
Сообщений: 28
Ролик, обрабатывая Event.RESIZE, сам должен подстраиваться под все пространство stage.stageWidth x stage.stageHeight, что он и делает, допустим, в хроме. В IE8 stage.stageHeight не меняется, и как следствие, ролик не масштабируется совсем.

Добавлено через 5 минут
сменил DOCTYPE на
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Ничего

Старый 12.10.2009, 00:31
Dimax4d вне форума Посмотреть профиль Отправить личное сообщение для Dimax4d Найти все сообщения от Dimax4d
  № 7  
Ответить с цитированием
Dimax4d
 
Аватар для Dimax4d

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
Во Flex Builder 3 есть хорошая обертка под это дело, мне кажется она вашу проблему должна решить. По крайней мере у меня к ней претензий не возникает, когда работаю со stage.stageHeight

Цитата:
Сообщение от Firexel Посмотреть сообщение
В IE8 stage.stageHeight не меняется, и как следствие, ролик не масштабируется совсем.
Скорее наоборот - ролик не масштабируется, поэтому не меняется stage.stageHeight

Добавлено через 3 минуты
Код:
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />


<link rel="stylesheet" type="text/css" href="history/history.css" />


<title></title>
<script src="AC_OETags.js" language="javascript"></script>
<script src="history/history.js" language="javascript"></script>

<style>
body { margin: 0px; overflow:hidden }
</style>
<script language="JavaScript" type="text/javascript">
<!--
// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 9;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version of Flash required
var requiredRevision = 124;
// -----------------------------------------------------------------------------
// -->
</script>
</head>

<body scroll="no" style="background-color:#838383">
<script language="JavaScript" type="text/javascript">
<!--
// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
var hasProductInstall = DetectFlashVer(6, 0, 65);

// Version check based upon the values defined in globals
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

if ( hasProductInstall && !hasRequestedVersion ) {
	// DO NOT MODIFY THE FOLLOWING FOUR LINES
	// Location visited after installation is complete if installation is required
	var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
	var MMredirectURL = window.location;
    document.title = document.title.slice(0, 47) + " - Flash Player Installation";
    var MMdoctitle = document.title;

	AC_FL_RunContent(
		"src", "playerProductInstall",
		"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
		"width", "100%",
		"height", "100%",
		"align", "middle",
		"id", "intro",
		"quality", "high",
		"bgcolor", "#838383",
		"name", "intro",
		"allowScriptAccess","sameDomain",
		"type", "application/x-shockwave-flash",
		"pluginspage", "http://www.adobe.com/go/getflashplayer"
	);
} else if (hasRequestedVersion) {
	// if we've detected an acceptable version
	// embed the Flash Content SWF when all tests are passed
	AC_FL_RunContent(
			"src", "intro",
			"width", "100%",
			"height", "100%",
			"align", "middle",
			"id", "intro",
			"quality", "high",
			"bgcolor", "#838383",
			"name", "intro",
			"allowScriptAccess","sameDomain",
			"type", "application/x-shockwave-flash",
			"pluginspage", "http://www.adobe.com/go/getflashplayer"
	);
  } else {  // flash is too old or we can't detect the plugin
    var alternateContent = 
   			'Alternate content';
    document.write(alternateContent);  // insert non-flash content
  }
// -->
</script>
<noscript>
  	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="intro" width="100%" height="100%"
			codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
			<param name="movie" value="intro.swf" />
			<param name="quality" value="high" />
			<param name="bgcolor" value="#838383" />
			<param name="allowScriptAccess" value="sameDomain" />
			<embed src="intro.swf" quality="high" bgcolor="#838383"
				width="100%" height="100%" name="intro" align="middle"
				play="true"
				loop="false"
				quality="high"
				allowScriptAccess="sameDomain"
				type="application/x-shockwave-flash"
				pluginspage="http://www.adobe.com/go/getflashplayer">
			</embed>
	</object>
</noscript>
</body>
</html>
Вложения
Тип файла: zip AC_OETags.zip (2.5 Кб, 50 просмотров)


Последний раз редактировалось Dimax4d; 12.10.2009 в 00:40.
Старый 12.10.2009, 00:40
Firexel вне форума Посмотреть профиль Отправить личное сообщение для Firexel Найти все сообщения от Firexel
  № 8  
Ответить с цитированием
Firexel

Регистрация: Jan 2008
Сообщений: 28
Да, стандартная флешевая обертка отлично работает. Проблема во взаимодействии SWFObject и IE8. Тем не менее, проблему нужно как-то решить.


Последний раз редактировалось Firexel; 12.10.2009 в 00:50.
Старый 12.10.2009, 01:08
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Да ну елки вы по содержанию можете ответить: когда вы изменяете размер страницы, размер флешки меняется или нет? Если да, то у вас где-то меняется stage.scaleMode с "noScale" на какой-то другой. Если нет, то проблема в вашем HTMLe. Если вам нужен HTML занимающий все окно браузера:
Код:
html, body { height:100%; }
body { margin:0; }
__________________
Hell is the possibility of sanity

Старый 12.10.2009, 01:11
Firexel вне форума Посмотреть профиль Отправить личное сообщение для Firexel Найти все сообщения от Firexel
  № 10  
Ответить с цитированием
Firexel

Регистрация: Jan 2008
Сообщений: 28
Вот. По-быстрому собрал примерчик.
Вложения
Тип файла: zip SizeTest.zip (15.7 Кб, 79 просмотров)

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

Теги
IE8 , resize , swfobject
Опции темы
Опции просмотра

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

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


 


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


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