Используя SWFObject, вспышка перемещается на 1 пиксель вправо в Firefox - PullRequest
2 голосов
/ 06 мая 2010

Пожалуйста, проверьте эту страницу: http://islandhideaway.weebly.com/ По какой-то причине слайд-шоу флэш-памяти перемещается на 1 пиксель при открытии в Firefox на моем Mac. Все остальные браузеры отображают его нормально, но только в Firefox он оставляет 1-пиксельный разрыв слева!

Я использую самую последнюю версию SWFObject. К сожалению, это мусорный сайт Weebly, и я не могу использовать jQuery в системе, поэтому я не могу создать настоящую галерею ... поэтому давайте сохраним весь «не используйте Flash для этого». Это одолжение для друга, и я уже знаю о лучших способах сделать это. :)

Ответы [ 4 ]

1 голос
/ 11 октября 2010

У меня была такая же проблема, и ответ kc rajput мне не помог. (Так что это могут быть две разные ошибки.)

Для меня ошибка смещения в 1px возникала в зависимости от того, была ли ширина окна просмотра браузера нечетным или четным числом пикселей. Таким образом, изменение размера окна браузера немного убрало проблему или вернулось. Объект Flash находился в горизонтально центрированном элементе.

Так или иначе, этот твик помог мне. В основном я просто добавил border-left: 1px solid transparent; для элемента, который имел margin-left: auto; margin-right: auto;.

Конечно, если ваш центрированный элемент уже содержит рамку, это будет не так просто.

1 голос
/ 06 мая 2010

вы должны использовать это в вашем объектном коде

<param name="SCALE" value="exactfit" />

и для меню следует использовать прозрачную вспышку

<PARAM NAME=wmode VALUE=transparent> 

и найдите код для вставки и добавьте

wmode="transparent"

попробуйте это

0 голосов
/ 23 февраля 2011

Вы также можете сделать что-то вроде:

div.flashContainer {position:relative; width:200px; left:50%; margin-left:-100px }

Замените значение ширины на ваше значение и оставьте поле слева равным половине. Еще один стандартный способ центрирования чего-либо, что позволяет избежать разницы: авто-баг 0.

0 голосов
/ 26 января 2011

Я понимаю, что на этот вопрос уже был дан ответ, но я гуглил эту проблему сегодня и наткнулся на эту ссылку. Я использовал исправление JavaScript, которое, кажется, работает очень хорошо. Я нашел оригинальный javascript в обсуждении ошибок в Mozilla, а затем немного его изменил.

https://bugzilla.mozilla.org/show_bug.cgi?id=550246

Вот javascript, который я использовал (надеюсь, он будет отображаться правильно в этом посте):

<script type="text/javascript">
var isFireFoxMac=false;
if (navigator.userAgent.indexOf("Firefox")!=-1) {
    if (navigator.platform == "MacIntel" || navigator.platform == "MacPPC") {
        isFireFoxMac = true;
    }
}
function isEven(value){
    return (value%2 == 0);
}
function ensureOddWidth() {
    var width = window.innerWidth;
    if (isEven(width)) {
      self.resizeTo(width-1, window.outerHeight);
    }
}
if (isFireFoxMac) {
    window.onresize = ensureOddWidth;
    window.onload = ensureOddWidth;
}
</script>
...