Проблема перемещения всей HTML-страницы вниз! элемент margin-top to html работает не на всех страницах - PullRequest
0 голосов
/ 03 апреля 2011

У меня странная проблема css, JS. Мое расширение chrome должно переместить веб-сайт дыры на несколько пикселей вниз, чтобы я мог отобразить панель инструментов поверх него.

Это работает для большинства страниц, но не работает для некоторых. И я не могу выяснить, в чем проблема. Код для перемещения страницы действительно прост. Только эта строка, которая добавляет margin-top к html-элементу:

document.getElementsByTagName('html')[0].style.marginTop = '36px !important';

Проще всего объяснить и увидеть, если установить аддон и перейти к www (точка) interspar (точка) в (здесь это работает) и к www (точка) weinwelt (точка) в (здесь это не работает). Аддон находится здесь https://chrome.google.com/webstore/detail/pilobbegphefikcgjpajnneiiahhejam

Пожалуйста, не рассматривайте это как спам, так как этот аддон полезен только для говорящих по-немецки людей, и я думаю, что здесь их не так много;)

Ответы [ 3 ]

3 голосов
/ 03 апреля 2011

Он не работает на этом сайте, потому что весь его контент абсолютно позиционирован (посмотрите на <div class="parent">). Вам нужно перебрать весь DOM, ища абсолютно позиционированные элементы, которые имеют свойство top и соответственно увеличивают его значение.

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

2 голосов
/ 03 апреля 2011

Попробуйте вместо этого на ТЕЛЕ;

document.getElementsByTagName('body')[0].style.marginTop = '36px !important';

HTML-тег не может содержать поле.

0 голосов
/ 03 апреля 2011

По следующей ссылке "! Важное" поддерживается только сафари.

http://hungred.com/how-to/jquery-javascript-css-important/

...