4

だから私は、インターネットからコンテンツをロードするこの Chrome 拡張機能を持っています。基本的に、ユーザーがポップアップ アイコンをクリックすると、バックグラウンド ページの JavaScript がページをロードし、そこから画像を解析して popup.html ページに配置します。問題は、popup.html がコンテンツの実際のサイズに合わせてサイズ変更されていないことです。ここ StackOverflow で同様の質問をいくつか見ましたが、それぞれが「<!DOCTYPE html>popup.html ページの上に置く」と答えていましたが、私の場合は機能していません。ポップアップのサイズは非常に小さいままです (約 1cm 四方)。

以前は、幅と高さを固定する CSS スタイルがありましたが、コンテンツが常に同じサイズであるとは限らないことに気付いたので、コンテンツに合わせて popup.html ページのサイズを自動的に変更したいと考えています。

最悪の場合、画像の幅と高さを解析して CSS として設定できることはわかっていますが、もっとエレガントな解決策があるように感じます。

ありがとう

4

2 に答える 2

4

少しの jQuery を使用して、ポップアップのサイズを動的に変更することができました。

$('html').height($('#menu').height());

#menu は、すべてのコンテンツをラップする単なる div です。body適切にサイズ変更されていないため、使用できませんでした。

どうやら高さを変えるだけhtmlで十分なようです。

于 2015-04-08T18:29:13.967 に答える
3

私は問題を解決することができました。したがって、コンテンツを popup.html にロードすると、ポップアップのサイズが自動的に変更されないようです。そうなるわけがありません。そのため、表示するコンテンツを読み込んだ後にページの CSS を変更しようとしましたが、これも機能しませんでした。次に、動的にサイズを変更するときに、ページに非表示のコンテンツがあってはならないことがわかりました。Web からコンテンツをロードするとき、ページ全体を非表示の div に隠し、次に JavaScript を介して、関心のあるページの要素にアクセスし、それを取得して、ポップアップ ページの可視コンテナーに入れました。document.getElementById('myHiddenDiv').innerHTML = ""この問題を解決するには、非表示の div のコンテンツを「削除」し、魔法のようにポップアップのサイズを変更する必要がありました :-)。

于 2013-02-21T12:59:16.920 に答える