Как получить ширину в пикселях HTML-div в Perl - PullRequest
0 голосов
/ 14 июня 2011

У меня есть куча HTML-дивов в формате:

<div style="left:162;vertical-align:top;color:#000000;top:126;position:absolute;font-family:Times;font-size:14;">
     BLAH BLAH BLAH
</div>

Что я хотел бы сделать, это извлечь из этого div ожидаемую ширину текста. Я знаю, что могу сделать это в Javascript с помощью таких вещей, как obj.offsetWidth (), и мне было интересно, есть ли какой-нибудь аналогичный модуль CPAN, который может сделать это для Perl, или если у кого-то есть идеи по алгоритмам, я могу написать код, который даст мне информацию Я нуждаюсь. Мне кажется, что вся информация, необходимая для вычисления ширины, содержится в теге style, поэтому это должно быть выполнимо.

Спасибо!

[РЕДАКТИРОВАТЬ] Добавляя немного больше фона к моему вопросу, я действительно хочу перевести HTML-страницу, которая передается в мой модуль в автономном режиме, и изменить его размер таким образом, чтобы его ширина не превышала 800 пикселей в большинстве случаев. все стандартные конфигурации браузера. HTML, который я передал, полностью состоит из div с абсолютной позицией, поэтому я подумал, что если бы я мог сделать разумное предположение о ширине каждого div, я бы приблизительно знал, какой фактор мне нужно сделать размер шрифта каждого из них меньше. [/ EDIT]

Ответы [ 2 ]

3 голосов
/ 14 июня 2011

Perl обычно запускается на сервере, а не в браузере, и искомая информация не доступна напрямую с сервера на любом языке. Если вам действительно нужна эта информация на сервере (и я не могу легко представить какой-либо сценарий, в котором вы бы ...), вам придется отправить клиенту некоторый JavaScript, который получит информацию и отправить его обратно на сервер, вероятно, через AJAX.

1 голос
/ 14 июня 2011

ни одно из ваших числовых свойств не является действительным;все требуют спецификации единиц;например:

<div style="left:162px;vertical-align:top;color:#000000;top:1.26in;position:absolute;font-family:Times;font-size:14pt;">

Лучше укажите размер шрифта и свойство top: top (1.26em) в ems (font-size: 1.4em;) как использование абсолютных единицустарела.

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