![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 28
|
Всем привет. Столкнулся с такой проблемой в 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.addEventListener(Event.RESIZE, defResize); Может кто сталкивался с подобной проблемой или знает как решить? Последний раз редактировалось Firexel; 11.10.2009 в 22:24. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 28
|
Поменял на "noscale". Ничего не изменилось.
|
|
|||||
|
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
А если DOCTYPE сменить на 4.01, заработает? У меня аналогичная проблема решалась именно так. XHTML вроде как не поддерживает height 100%
|
|
|||||
|
Modus ponens
|
Эрм... еще раз и по порядку, у вас вообще высота флешки не меняется, или высота визуально меняется, ни флеш считает, что она не изменилась?
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: 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"> Ничего ![]() |
|
|||||
|
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
Во Flex Builder 3 есть хорошая обертка под это дело, мне кажется она вашу проблему должна решить. По крайней мере у меня к ней претензий не возникает, когда работаю со 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>
Последний раз редактировалось Dimax4d; 12.10.2009 в 00:40. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 28
|
Да, стандартная флешевая обертка отлично работает. Проблема во взаимодействии SWFObject и IE8. Тем не менее, проблему нужно как-то решить.
Последний раз редактировалось Firexel; 12.10.2009 в 00:50. |
|
|||||
|
Modus ponens
|
Да ну елки вы по содержанию можете ответить: когда вы изменяете размер страницы, размер флешки меняется или нет? Если да, то у вас где-то меняется stage.scaleMode с "noScale" на какой-то другой. Если нет, то проблема в вашем HTMLe. Если вам нужен HTML занимающий все окно браузера:
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 28
|
Вот. По-быстрому собрал примерчик.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:06. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| IE8 , resize , swfobject |
|
|