2015-07-02 2 views
1

У меня есть две кнопки установить положение, равное «абсолютный», когда бар dipslays в LastPass аддона, они отображаются неправильно, потому что LastPass был вставлены IFRAME моей страницы:LastPass бар с IFRAME ломает мой CSS

LastPass плавающего фрейм

<iframe id="lpiframe74158812" src="chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/overlay.html?&amp;add=1" scrolling="no" 
    style="height: 27px; width: 1263px; border: 0px;"></iframe> 

CSS-:

.button-bar { 
    width: 175px; 
    float: left; 
    top: 113px; 
    text-align: right; 
    right: 20px; 
    position: absolute; 
    } 

изображение: http://i.stack.imgur.com/Rq5Z5.png

Как я могу избежать этого случая? Спасибо!

+0

создайте jsfiddle – GibboK

+0

Это относится к бару аддона LastPass. Поэтому я думаю, что jsfiddle не может помочь в этом случае. – EnvySky

ответ

4

У меня была эта же проблема, и я нашел, что последний проход редактировал DOM моей веб-страницы! LastPass добавил div сразу после тега body моей страницы.

<div id="lptopspacer48468746" style="height: 27px;"></div>

Похоже ДИВ идентификатор является случайным, так что я не могу лишить его. Я думаю, что эта проблема связана с lastPass. Я не думаю, что есть способ по-настоящему исправить это.

0

Также раздражает этот <div id="lptopspacer[0-9]+" style="height:40px"></div>, вставленный на любую страницу, контролируемую firefox lastPass плагином (после того, как сайт показал форму входа), я придумал решение jQuery.

Только добавление некоторых правил CSS не работает, поскольку div, очевидно, добавляется после загрузки страницы по сценарию. Изменение стиля или попытка удалить div сразу после загрузки страницы также не работают.

Таким образом, этот фрагмент запускает задержанную функцию, чтобы скрыть div при обнаружении или остановить работу после 5 попыток, если плагин lastPass не влияет на документ.

<script> 
    var log = function(msg) { 
     if (console && console.log){ 
      console.log(msg) 
     } 
    }; 
    $(document).ready(function(){ 
     var maxTry = 5, lptopHideTimeout; 
     var clearLptop = function(delay) { 
      var $lptop = $("div[id^='lptopspacer']"); 
      if (lptopHideTimeout) { 
       window.clearTimeout(lptopHideTimeout); 
      } 
      if ($lptop.length && $lptop.is(':visible')) { 
       log("** Hiding lastPass lptopspacer..."); 
       $lptop.css("display","none"); 
      } 
      else { 
       maxTry -= 1; 
       if (maxTry > 0) { 
        log("## No lastPass lptopspacer div found yet. Retrying in " + (delay/1000) + ' second...'); 
        lptopHideTimeout = window.setTimeout(function(){ 
         clearLptop(delay); 
        },delay); 
       } 
       else { 
        log("## Giving up after too much attempts."); 
       } 
      } 
     }; 

     clearLptop(500); 
    }); 

</script> 
0

Лучше поздно, чем никогда, если у других также есть эта проблема. У меня было это, что Lp spacer, в моем случае он был создан, потому что на компьютере был установлен Mcafee safekey. Он появился с уведомлением о каждом pageload на моем сайте и вызвал lp spacer, который сломал мой сайт с белой полосой сверху.

Удаление Mcafee safekey разрешило его для меня.

Смежные вопросы