- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScriptで、現在表示中ページの内容の幅を取得するには?)
JavaScriptで現在表示中ページの内容の幅を取得する方法
このQ&Aのポイント
- JavaScriptで現在表示中のページの内容の幅をピクセル単位で取得する方法について紹介します。
- ウィンドウの幅ではなく、表示している内容の幅を取得する方法を説明します。
- リキッドなデザインの場合でも、ブラウザのウィンドウ幅に合わせて変化する内容の幅を取得する方法を解説します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
教えて!gooの場合 <table cellspacing="0" cellpadding="0" width="100%" border="0"> Yahooのトップページの場合 <TABLE cellSpacing=0 cellPadding=2 width=710 bgColor=#eeeeee border=0> です。 従って、 getElementsByTagName('table')[0].width の内容を判断し、割合指定であれば document.body.clientWidth にその値を積算、定数指定であれば そのまま値を採用すれば、一応の目的は果たせるかと思います。 ただし・・・ あくまでこの手法では「テーブルで画面整形をしている場合」に限られます。 ごく普通のテーブルで画面整形をしていないサイトであれば、その内部で使っているテーブルの幅が出てきてしましますし、使っていなければ、スクリプトエラーになってしまうでしょう。 さらには幅整形にdivエレメントを使っている場合には、別の手立てが必要になってきますし、 CSSでposition指定して特異な位置へフロートウインドウを表示していた場合には、もはやほとんどお手上げではないかと思います。 このあたり、全てに対処しようとするのなら、ほとんどHTML解析エキスパートシステムになってしまいます。 そもそも、他者の作成したサイトの「有効幅」を得ようという発想自体に問題があるように思われますが?