2010-07-14 5 views
3

Кто-нибудь нашел способ обойти это еще? У меня есть проект, в котором клиент хочет, чтобы кнопка Flash имела встроенный в нее индикатор выполнения. До сих пор я делаю это, имея Div с CSS скрытыми, а затем отображается после того, как файл начал загружаться.SWFUpload - breaks on DOM Manipulation

Кнопка затем скрыта, однако, когда кнопка скрыта, стрельба по событию прекращается. Это то же самое, даже я модифицирую CSS только для перемещения по экрану.

+0

ли любые манипуляции результата кнопки в событиях не стреляли? –

+0

Да, единственное, что я могу сделать, это установить видимость на скрытый, но мне нужен индикатор выполнения, чтобы удерживать позицию кнопки (вроде кнопки с индикатором выполнения) Это действительно не имеет для меня никакого смысла но поскольку теперь я могу установить видимость на скрытый, я думаю, я могу использовать CSS, чтобы расположить индикатор выполнения, где он был раньше. –

+0

Вы пытались установить кнопку размером 1x1, а затем позиционировать индикатор выполнения над ним? –

ответ

1
.helper-hidden { 
    position: absolute; 
    left: -99999px; 
} 

, когда вы загружаете, добавить helper-hidden класс на кнопку и удалить его, когда вы закончите. Вы даже можете применить этот класс к любому элементу, который вы хотите «скрыть» из окна просмотра, не затрагивая его видимость.

+0

Все, что заставляет флеш-видео переинициализировать, печально печатает его, устанавливая его видимость на скрытые работы, однако получение прогресса позиционируется на вершине - это немного боль :) –

0

Лучший способ исправить это - использовать видимость: скрытый для div SWFUpload, это позволяет вспышке все еще работать и не прерывает соединение Flash/Browser.

0

Старый вопрос возвращен.

Эта проблема по-прежнему появляется на SWFUpload 2 к тому моменту, когда я публикую это.

Проблема связана с позиционированием. В основном SWFUpload позиционирует флэш-файл поверх ссылки, используемой SWFUpload. Он инициализирует позицию после функции onLoad. После манипулирования вашим DOM, возможно, вы изменили часть dom, расположенную на верхней части SWFUpload.

Тестовый пример:

У меня есть DIV, раскололи страницу 2. Левая сторона содержит SWFUpload, правая сторона не делает. Обе стороны содержат кнопку, чтобы добавить РОМ на той позиции, что верхняя к SWFUpload

------------------------------------ 
    DOM 1   |  DOM 2 
    SWF UPLOAD  |  
    Button 1  |  Button 2 
------------------------------------- 

Когда пользователь нажимает кнопку Button1, он покажет DOM1. То же самое для кнопки 2.

Когда пользователь начинает загружать страницу. SWFUPload работает нормально. Затем я нажимаю Button1, чтобы показать DOM 1, а затем SWFUpload больше не работает. Снова с кнопкой 2 работает SWFUpload.

Также база на моем чехле SWFUpload также не работает на столе.

Я сообщу об этом как об ошибке в SWFUpload