Параметры объекта SWF - scale или scaleMode - PullRequest
3 голосов
/ 07 ноября 2011

В своей работе я постоянно встраиваю SWF-файлы в HTML-документы. Я часто спрашивал себя о нескольких вещах:

Это scaleMode="noscale" или scale="noscale"? И значения являются чувствительными к регистру? Я видел несколько фрагментов кода, таких как scale="noScale" и т. Д.

Как выглядит синтаксис в ActionScript? Это верблюд noScale? Меня не волнуют стандарты HTML, я просто хотел бы узнать, как это с точки зрения разработчиков Flash.

У кого-нибудь есть подсказка? Я проверял Google много раз, но я никогда не находил что-то вроде описания соответствия. Я только что нашел страницу Adobe, которая описывает параметры и значения, но не отвечает ни на один из моих вопросов.

Большое спасибо! :)

Ответы [ 2 ]

8 голосов
/ 07 ноября 2011

Найден ответ в Google за 3 секунды:

шкала - Возможные значения: showall, noborder, точная подгонка, noscale.Указывает, как Flash Player масштабирует содержимое SWF в соответствии с областью пикселей, указанной тегом OBJECT или EMBED.default (Показать все) делает весь SWF-файл видимым в указанной области без искажений, сохраняя при этом исходное соотношение сторон фильма.Границы могут появляться на двух сторонах фильма.noborder масштабирует SWF-файл, чтобы заполнить указанную область, сохраняя при этом исходное соотношение сторон файла.Flash Player может обрезать содержимое, но никаких искажений не возникает.Благодаря точному соответствию весь SWF-файл виден в указанной области, не пытаясь сохранить исходное соотношение сторон.Могут возникнуть искажения.noscale предотвращает масштабирование SWF-файла до области тега OBJECT или EMBED.Обрезка может произойти.

Подробнее здесь

Редактировать: Я думаю, что чувствительность к регистру зависит от браузера, но, следуя стандартам HTML, вы всегда должны использовать строчные буквы.

Edit2: scaleMode, с другой стороны, является свойством Stage объекта в ActionScript, поэтому он используется для установки режима масштабирования в SWF-фильме, который не внедряется.Когда вы встраиваете SWF-файл, этот параметр переопределяется с тем, что вы установили в своем HTML.

2 голосов
/ 07 ноября 2011

Если вы устанавливаете режим масштабирования с помощью ActionScript, вы используете свойство scaleMode объекта Stage. Если вы устанавливаете его с помощью разметки JavaScript или HTML, вы используете scale в узле <param>.

Что касается использования заглавных букв, в документации Adobe для scaleMode (ActionScript) используется верблюжий падеж последовательно, насколько я помню (по крайней мере, последние 6 лет). текущие документы AS3 явно используют верблюжий чехол . Статья , ссылка на которую приведена выше , ссылается на scale в JavaScript / HTML, а не на ActionScript. Кажется, что верблюжий случай - самый безопасный маршрут, вы можете быть уверены, что он будет поддерживаться.

Вот несколько scale примеров использования SWFObject:

SWFObject dynamic:

var flashvars = {};
var params = { scale: "noScale" };
var attributes = {};
swfobject.embedSWF("/swf/sample.swf", "flash", "100%", "100%", "9", false, flashvars, params, attributes);

SWFObject static:

<object id="flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">
  <param name="movie" value="/swf/sample.swf" />
  <param name="scale" value="noScale" />
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="/swf/sample.swf" width="100%" height="100%">
  <param name="scale" value="noScale" />
  <!--<![endif]-->
    <p>Place fallback content here for users who don't have Flash<p>
  <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>

Примеры и описание параметров шкалы:

http://learnswfobject.com/advanced-topics/100-width-and-height-in-browser/

...