PDA

Просмотр полной версии : html + flash (OpenLaszlo)


dirty
16.11.2006, 10:01
в общем, вопрос такой.
есть у меня свф-файл, который вставляется в хтмл документ. сам свф файл ессно не имеет фиксированного размера. он занимает 100% пространства по высоте и ширине.
свф-ка - типа и есть вся страница. но вот вопрос. в зависимости от контента, объект (в данном случае флэш) должен менять атрибут высоты, т.е. я хочу, что бы у меня работала прокрутка страницы.

http://dynamix.perm.ru/mts/test/
здесь пример. видно, что при открытии окон появляются полосы прокрутки внутри самого документа, а мне бы хотелось, чтоб увеличивался сам документ и работала прокрутка броузера.

можно, конечно, для канваса задать фиксированный размер в пикселах. но тогда может оказаться так, что будет много пустого места внизу или появится дополнительный контент, который не влезет.
вот можно как-то через javascript в зависимости от нужд объекта менять на странице размер?

dirty
16.11.2006, 10:03
только осторожно, в опере девятой почему-то не грузится страница. в ИЕ загрузилась. так что, если у вас не грузится, попробуйте попытать ИЕ

udaaff
17.11.2006, 04:06
у меня что то не там не там не загрузилась

udaaff
17.11.2006, 04:12
попробуй что нить с этим замутить
scrollRect (MovieClip.scrollRect property)
в хелпе по подробней прочитай
(если я тебя правильно понял)

dirty
17.11.2006, 08:59
у меня что то не там не там не загрузилась
может у тебя флешплеер не установлен, потому и не грузится))

scrollRect (MovieClip.scrollRect property)
это акшн скрипт?

miramax
17.11.2006, 09:37
это акшн скрипт?Это видимо выдержка из хелпа :D Знаешь такой? По кнопочке F1 открывается.
2 удаафф
scrollRect - никакого полового отношения к размерам html документа не имеет.
Здесь нужно немного поработать с JS.
Вот очень хороший пример сайта где реализовано то что тебе нужно:
http://www.fantasyinterfaces.com.
Но что бы перекроить твой шаблон, потребуется опыт и хорошее знание АС.

dirty
17.11.2006, 13:24
2miramax
я не на акшнскрипт пишу))) я в OpenLaszlo работаю, там ява и xml =)

а так спасибо, щас поразбираюсь, че к чему...

тут правда се равно косяк, после большой по высоте флешки остается тот же большой размер фрейма, так что маленькая по высоте флешка ютится в верху у высокого фрейма ))))

DarkLight
17.11.2006, 17:45
Кстати в Опере все нормально работает (9.02, флеш плеер 9)

Kikasso
17.11.2006, 19:34
вот можно как-то через javascript в зависимости от нужд объекта менять на странице размер?
Попробуй SWFObject, он впечатывает флеш в div жабаскриптом.
вариант 1) Впечатываешь с высотой 100%, а потом по ходу меняешь style у div`а.
вариант 2) С другой стороны, если ты все равно во флеш подгружаешь какие - то блоки, ты же можешь заранее посчитать их количество и общюю высоту? Ты же блоки в xml описываешь? Вот посчитал, и передавай параметры в SWFObject.

> при 100% возможны глючки с позиционированием.

miramax
17.11.2006, 19:36
2miramax
я не на акшнскрипт пишу))) я в OpenLaszlo работаю, там ява и xml =)

а так спасибо, щас поразбираюсь, че к чему...

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

dirty
20.11.2006, 09:09
Попробуй SWFObject, он впечатывает флеш в div жабаскриптом.
вариант 1) Впечатываешь с высотой 100%, а потом по ходу меняешь style у div`а.
вариант 2) С другой стороны, если ты все равно во флеш подгружаешь какие - то блоки, ты же можешь заранее посчитать их количество и общюю высоту? Ты же блоки в xml описываешь? Вот посчитал, и передавай параметры в SWFObject
вот каким образом их передавать?:wacko:

Kikasso
20.11.2006, 10:05
Самое простое и правильное - если сервак тебе генерит содержание, он может и высоту подсчитать. Если нет, все сложнее.
1)У флеша высота и ширина 100%
2)div изначально во всю страницу.
2)Флеш грузит xml и строит блоки. Подсчитывает высоту. Вызывает javascript через getURL. Примерно так:
getURL("javascript:alert(\""+ высота + "\")");
Тут надо кавычки и палки расставить правильно, не факт что мне удалось.
javascript должен поменять style у div`a, в котором флеш. Примерно так. Еще рекомендую порытся в ветке CSS, там скорее всего есть решение.
Да, еще хорошо бы флешу запретить масштабироваться (изнутри), отлавливать событие Stage.onResize и как-нибудь там все расставлять.

dirty
20.11.2006, 14:09
спасибо, буду пробовать!