2012-01-01 13 views
1

galaxyタブでレイアウトを表示するためにレイアウトを最適化するために、上部と左側の要素をWebページ(greasemonkey/scriptishを使用)から削除します。greasemonkeyを使用した要素の削除と折りたたみ

Webページはtvtv.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")を隠すなど、要素幅をゼロに設定するなど、さまざまなアプローチを試みましたが、結果は常に同じでした。

要素を '折りたたむ'ことができるので、ページレイアウトでスペースを使用しませんか?

すべてのヘルプは大、事前に感謝をいただければ幸いです。

答えて

2

要素を正しく削除/非表示しています。それらが相対的に配置されていれば、利用可能なスペースを埋めるために崩壊するでしょう。

この特定のサイトの場合、主なコンテンツは絶対的に配置されています。要素を折りたたむには:

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

「左:0」を追加する必要がありましたが、今は完全に機能します。どうもありがとうございました。 – raines

2

実際には、それはもう存在しないため、スペースを占有しません。

要素が明示的に上から100ピクセル配置されているため、ページの残りの部分が上に移動しない理由があります。 styles.cssで、例えば、#main_rightのスタイルを参照してください。

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

手動でこれらの位置を調整する必要があります。

関連する問題