使用greasemonkey移除和折叠元素

removing and collapsing element using greasemonkey

本文关键字:折叠 元素 greasemonkey 使用      更新时间:2023-09-26

我想从网页(使用greasemonkey/scriptish)中删除上部和左侧元素,以优化其布局,以便在galaxy tab 10.1中显示它。

网页是tvv .de,我的第一个方法(我对修补网页完全陌生)是:

// ==UserScript==
// @include     http://www.tvtv.de/*
// ==/UserScript==
var elmDeleted = document.getElementById("header");
elmDeleted.parentNode.removeChild(elmDeleted);
elmDeleted = document.getElementById("main_left");
elmDeleted.parentNode.removeChild(elmDeleted);

有问题的元素被清空,但仍然使用布局中的原始空间。我也尝试过不同的方法,比如将元素宽度设置为零,隐藏元素(element.style.display="none")等,但结果总是一样的。

是否有可能"折叠"元素,这样它们就不会在页面布局中使用任何空间?

如有任何帮助,我将不胜感激。

您正在正确地删除/隐藏元素。如果它们处于相对位置,则它们将折叠以填充可用空间。

在这个特殊的网站,主要内容是绝对定位。使用:

折叠元素
var css = '#main_left, #main_right { top: 0; }',
    style = document.createElement('style');
    style.appendChild(document.createTextNode(css));
document.body.appendChild(style);

实际上它并不占用任何空间,因为它已经不在那里了。

页面的其余部分没有上移的原因是因为元素明确地定位在距离顶部100像素的位置。例如,styles.css:

#main_right的样式
#main_right
{
    background-color: #FFFFFF;
    /* -------------------- */
    position: absolute;
    left: 180px;
    right: 0px;
    top: 100px;
    /* -------------------- */
    bottom: 21px;
    overflow: visible;
}