Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: mozilla + swfObject
Flash Zone Forum > Macromedia Flash > Общие вопросы
cX717
Разместил флэш файл с помощью swfObject.
IE отображает все как надо, а мозила уменьшает изображение примерно в три раза.
Вот здесь пример: http://daiquiri.spb.ru/
Если не лень, скажите как это выглядит у вас.
MustLive
cX717

Так и есть. В Мозиле у меня изображение уменьшенное, а в ИЕ растянутое на весь экран (как ты и задал в коде).

В данном случае это глюк swfObject, что он некорректно отображает флешку в Мозиле при использовании относительных величин в размерах (ты задал размеры в процентах).

Для решения этой проблемы ты можешь или задавать абсолютные размеры, или использовать другой способ размещения флешек (другой ява-скрипт код). Или исправить этот баг в swfObject, чтобы он нормально масштабировал флешку, или же скачай последную версию скрипта swfObject с сайта разработчика. Также ты можешь разместить флешку вручную задавав html код (без использования скриптов), и указав размеры равные 100%.
cX717
Я давно бьюсь над тем как лучше размещать флэш в html.
Как я понял swfObject - один из лучших вариантов(кто б мог подумать что он глючит).
У меня swfObject 1.5 - это вроде бы последняя версия.
MustLive, если не трудно, дай ссылку на разработчика.
tiHo
а у меня в опере вот так:
tiHo
а чем тебе ненравица шаблон добавления флешки? :

HTML
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="" height="" align="middle">
<param name="movie" value="" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="" quality="high" bgcolor="#ffffff" width="" height="" align="middle" type="application/x-shockwave-flash" />
</object>
MustLive
Цитата
Я давно бьюсь над тем как лучше размещать флэш в html.
Как я понял swfObject - один из лучших вариантов (кто б мог подумать что он глючит).

cX717

Можно размещать разными способами, о чём я тебе уже писал ранее. В том числе можно и не использовать скриптов и размещать флешку на странице через соответствующий html-код. Я только так и размещаю флешки (более 8 лет).

В данном случае имеет место или глюк в самом swfObject (при задании относительных размеров), или же глюк в коде скрипта - или ты случайно в коде ошибку допустил, или ты специально код модифицировал для своих нужд, что и привело к появлению этого глюка (или уже достал изменённую версию).

Цитата
У меня swfObject 1.5 - это вроде бы последняя версия.

Да это последняя версия. Так что проблемы у тебя с кодом. Попробуй выкачать код с сайта разработчика, может у тебя версия кривая. А также можешь сам исправить код, чтобы он нормально работал в разных браузерах. Или же используй html-код для размещения флеш файлов, о чём я тебе дважды говорил и о чём сказал tiiHo (приведя тебе шаблон размещения флешек). Это старый проверенный способ размещения флешек, совместимый со всеми браузерами (для которых имеются флеш плагины).

Цитата
MustLive, если не трудно, дай ссылку на разработчика.

SWFObject: Javascript Flash Player detection and embed script
http://blog.deconcept.com/swfobject/

Версия 1.5 - это последняя версия swfObject. Но ты попробуй скачать скрипт с сайта разработчика (а где ты его ранее взял? - явно не с официального сайта), может с официальной версией скрипта у тебя глючить не будет.

Цитата
а у меня в опере вот так:

Да, Саша, это полный глюк smile.gif. Флешку в точку ужало, вместо того, чтобы на весь экран растянуть (в Мозиле хоть маленькая флешка, но видна). cX717 нужно решать вопрос с размещением флешки, чтобы не было таких глюков в разных браузерах.

Цитата
а чем тебе ненравица шаблон добавления флешки?

Саня, html-код для флешки - это надёжный способ размещенения, но как я уже ранее писал на форуме, swfObject - это самый прогрессивный способ (с поддержкой полезных фич, например, автоопределение версии плагина). И как мы сейчас увидели - это ещё и глючный способ wink.gif (ранее таких глюков с swfObject встречать не доводилось, вероятно проблемы в коде скрипта на сайте cX717).

О приемуществах swfObject можно почитать у Флеш Потрошителя в статье SWFObject, а также на сайте разработчика.
nikitar
Ну, вообще-то тут сразу видно, что проблема не в swfObject, а в Мозилле и Опере. Если бы была в swfObject, то не показывалось бы и в IE.
Теперь как решить эту проблему.
Добавь перед закрывающимся тегом </head> следующий код

Код
<style type="text/css">
    
    /* hide from ie on mac \*/
    html {
        height: 100%;
        overflow: hidden;
    }
    
    #flashcontent {
        height: 100%;
    }
    /* end hide */

    body {
        height: 100%;
        margin: 0;
        padding: 0;
    }

</style>


Теперь работает и в Мозиле и в IE. В Опере тоже должно работать.
MustLive
Цитата
Ну, вообще-то тут сразу видно, что проблема не в swfObject, а в Мозилле и Опере. Если бы была в swfObject, то не показывалось бы и в IE.

nikitar

Как раз проблема в swfObject и это проблема разработчика сделать рабочий код. Т.к. разработчики браузеров не должны подстраиваться под всех разработчиков скриптов (коих априори больше и именно разработчики браузеров создают платформу для разработки), а как раз авторы скриптов должны свои скрипты разрабатывать (и тестировать) под различные браузеры. И в данном случае имеет место заточка под ИЕ, что весьма часто встречается в наше время.

Поэтому выходит, что автор swfObject поленился под разные браузеры сделать скрипт, зделав упор лишь на IE. Потому люди должны самостоятельно решать эту проблему - или правкой скрипта, или различными трюками (такими как добавление стилей) или же использованием других методов размещения флешек. К примеру, как я уже говорил, стандартный html код для размещения нормально работает в различных браузерах. Потому что Макромедия во время разработки метода размещения флешек более серьёзно подошла к своей работе и сделала кроссбраузерное решение.

Цитата
Добавь перед закрывающимся тегом </head> следующий код

Или на той странице где флешка используется, или на всех страницах сайта (например в шаблоне), если флешки размещены на многих страницах сайта. Во втором случае можно код разместить во внешнем css-файле, где размещены таблицы стилей сайта.

Цитата
Теперь работает и в Мозиле и в IE. В Опере тоже должно работать.

Хорошо, если нормально заработает. Пусть cX717 добавит указанные стили на страницу и протестирует.

Об этом методе улучшения работы swfObject стоило написать на официальном сайте. И я не исключаю, что автор так и сделал где-то у себя на сайте (хотя на главной странице об этом ничего не сказано). Так что всем пользователям swfObject (в частности cX717) нужно читать readme и FAQ к программе, а также сайт автора, чтобы данный скрипт нормально работал во всех браузерах.
nikitar
Цитата
Поэтому выходит, что автор swfObject поленился под разные браузеры сделать скрипт, зделав упор лишь на IE. Потому люди должны самостоятельно решать эту проблему - или правкой скрипта, или различными трюками (такими как добавление стилей) или же использованием других методов размещения флешек. К примеру, как я уже говорил, стандартный html код для размещения нормально работает в различных браузерах. Потому что Макромедия во время разработки метода размещения флешек более серьёзно подошла к своей работе и сделала кроссбраузерное решение.

Эти претензии могли бы быть обоснованными, если бы это был коммерческий продукт, а так как это бесплатно, то приходится мирится с тем, что есть. И подстраиватся.
MustLive
Цитата
Эти претензии могли бы быть обоснованными, если бы это был коммерческий продукт, а так как это бесплатно, то приходится мирится с тем, что есть.

nikitar

Не совсем верный подход - раз мол бесплатно, значит можно делать некачественный продукт (и к сожалению с подобной ситуацией приходится сталкиваться постоянно, т.к. данный подход распространён). Нужно всегда делать качественные продукты, вне зависимости от финансового аспекта - любой продукт должен быть сделан на совесть (я так стараюсь делать свои программы, в том числе и бесплатные, и много разработчиков в мире, в частности опен сорс). При этом существует немало коммерческих программ сделанных некачественно (самый известный пример: Windows).

Также замечу, что автор SWFObject чётко пишет у себя на сайте - что SWFObject работает "on PC: IE5/5.5/6, Netscape 7/8, Firefox, Mozilla, and Opera". И поэтому всё должно чётко работать, если автор не поленился и нормально сделал и оттестировал свое приложение. Поэтому притензии полностью обоснованы, т.к. автор заявлял нормальную работу в различных браузерах, а на деле мы имеем глюки (и нормальную работу лишь в IE).

Цитата
И подстраиватся.

Подстраиваться можно - в этом случае желательно, чтобы автор SWFObject о данных аспектах указал у себя на сайте - на главной странице (чего нет). Чтобы люди не мучились с глюками и не искали по Сети информацию или в форумах спрашивали, а чтобы имели официальный ответ на вопрос о совместимости с разными браузерами на сайте автора.

Или использовать алтернативные варианты - другие способы размещения флешек. Классический вариант с размещением HTML кода вполне достаточный и надёжный способ.
nikitar
Цитата
Или использовать алтернативные варианты - другие способы размещения флешек. Классический вариант с размещением HTML кода вполне достаточный и надёжный способ.

Он не достаточен хотя бы потому что в IE появляется рамочка и половина клиентов потребуют эту рамочку убрать любыми доступными средствами.
Русская версия IP.Board © 2001-2008 IPS, Inc.