Как предотвратить обновление SWF при изменении размера iframe? - PullRequest
2 голосов
/ 21 января 2009

Я изменяю размер iframe, и когда я делаю это в Firefox, содержимое обновляется.

У меня есть SWF, который расширяется, и в Firefox, когда iframe расширяется для размещения SWF, SWF появляется в своем нормальном положении.

В IE этого не происходит.

Кто-нибудь знает, как предотвратить обновление в Firefox?

Спасибо


Изменить:

Хорошо, я думаю, что страница не обновляется, просто swf, пожалуйста, проверьте это по адресу:

http://antoniocs.org/iframe/index_.html

Вы можете видеть, что когда происходит изменение размеров, в Firefox 3 происходит быстрое «мигание», и swf возвращается в исходное состояние (не развернуто), это не происходит в IE.

Код полностью на стороне клиента, поэтому вы можете просмотреть его, если посмотрите на источник страниц.

Ответы [ 4 ]

4 голосов
/ 27 января 2009

Антонио, я боюсь, что проблема в Firefox сама по себе. Когда Gecko обнаруживает изменение ширины iFrame, он перерисовывает страницу и вызывает это «обновление». Я не знаю, как изменить это поведение, если не использовать другую технику.

Я подтвердил, что проблема существует и в других браузерах на основе Gecko (в частности, в Camino и Flock). Мне не удалось скопировать его в браузерах на основе WebKit (Chrome и Safari).

3 голосов
/ 28 января 2009

Похоже, что установка position: absolute; или .cssText обновит кадр.

Решение состоит в том, чтобы добавить style="position: absolute;" к вашему <iframe> и установить ваш CSS следующим образом:

this.mrec_div_idObj.style.left = ((offsetLeftIframe) - (dimX - disX)) + "px";
this.mrec_div_idObj.style.top = (offsetTopDiv - disY) + "px";
this.mrec_div_idObj.style.zIndex = 99999999;
this.mrec_div_idObj.style.margin = 0;
this.mrec_div_idObj.style.padding = 0;

Я проверял это, и оно работает в Firefox 3 .

0 голосов
/ 22 января 2009

Вот страница, где вы можете увидеть код -> http://antoniocs.org/iframe/index_.html

Код для изменения размера iframe запускается через 3 секунды, и вы можете увидеть, что swf, если он был расширен, появляется в его начальной (не расширенной) форме.

Чтобы развернуть swf, просто наведите на него курсор мыши.

В т. Е. В фрейме нет обновления.

0 голосов
/ 22 января 2009

Нет постоянного кода.

Это просто! У меня есть iframe с шириной 300 и высотой 250, и когда я изменяю их на 500 и 400, firefox обновляет содержимое, и я хочу предотвратить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...