Как получить размер отображаемой HTML-страницы, а не размер ее клиента? - PullRequest
0 голосов
/ 21 августа 2011

Мне нужно получить размер, занимаемый элементами HTML-страницы.
Не клиентская ширина браузера.
Поскольку я не могу заставить html иметь все внутри div, потому что он предоставляется пользователем, мне нужно знать этот размер.
Я пытался получить размер элемента тела, но не могу его получить. (пробовал .width и style.width, но ни один не работал)

Ответы [ 3 ]

2 голосов
/ 21 августа 2011

Если вы не знаете, какие именно элементы содержимого вы хотите измерить, и ЗНАЕТЕ, что они не являются эластичными элементами содержимого, такими как div, которые имеют полную ширину независимо от фактического содержимого, вы не сможете сделать это.

Если вы знали, какие элементы вы хотели измерить, вы можете пройти по всем из них, получить их размер и положение и накопить ограничивающий прямоугольник, который был объединением всех интересных элементов. Но если это произвольный HTML (как вы его описали), которого вы не знаете, вы не сможете понять разницу между чем-то, что вас волнует, и произвольным контейнером, который просто идет на полную ширину, потому что он делает это естественным образом.

Например, посмотрите на перенос слов в содержащем div. Содержащий div идет на полную ширину, поэтому он всегда будет на всю ширину. Можно было бы измерить высоту содержащего элемента div, но ширина всегда будет полной шириной, а высота будет соответствовать только этой конкретной ширине. Измени ширину и высоту было бы по другому.

1 голос
/ 21 августа 2011

Было бы полезно, если бы вы использовали библиотеку, такую ​​как jQuery ... Браузеры имеют разные способы представления ширины ...

в jQuery вы можете сделать это ... $("#divId").width(); и получить ширину в пикселях.

Подробнее http://api.jquery.com/width

1 голос
/ 21 августа 2011

Попробуйте использовать функцию jQuery width () http://api.jquery.com/width/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...