2016-04-19 8 views
0

Google Chrome拡張機能を構築しています。その機能の1つは、ビューポートのスクリーンショットイメージをスナップすることで全長のスクリーンショットを生成しますページを下にスクロールし、ページ全体のイメージがあるまでプロセスを繰り返し、HTML5 Canvasを使用して1つのイメージとして結合します。DIVのHTMLとCSSを検出し、兄弟DIVとスクロールするように変更する

Page要素position: fixedposition: absoluteに変更され、最終イメージの各ビューポートイメージの固定要素が何度も繰り返し表示されなくなりました。

今私は新しい挑戦を与える例があります。下の画像に基づいて https://docs.hhvm.com/hhvm/installation/linux#ubuntu-15.10-wily-werewolf

...
1)上部ヘッダバーがfixedであるので、それはposition: absolute
2に変更)メインページ右スクロールバーのスクロールメイン右コンテンツパネルページを下ろす。
3)左側のサイドバーにはDIV専用のスクロールバーがあります。

私の拡張機能がこのページでスクリーンショットを作成すると、右のスクロールバーがページの下側にずっと下がっているので、ページの下のすべての方法で左のサイドバーの内容が繰り返されます。

解決策は何とか検出して、これらのケースの左側のサイドバーをスクロールバーがないように配置し、左側のサイドバーのすべてのコンテンツを右側のコンテンツDIVがスクロールダウンするように表示することです。

私はちょうどその時点で、サイドバーの部分を行う方法については、任意の提案は分かりませんか?他のページでもこの状況を自動的に検出する必要があります。

enter image description here

答えて

0

CSSのオーバーフローは、あなたが探しているものですが、私は推測します。 オーバーフローを設定する:サイドバーに表示されます。今、「自動」価値がそこに立つ可能性が高い。

どのようなことが検出されますか...要素のscrollHeightを確認し、その高さを取得できます。たとえば、sidebar.scrollHeight> sidebar.offsetHeightです。それが本当であれば、スクロール可能であることを意味します。

関連する問題