我有一堆格式的HTML div:
<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做到这一点,或者如果有人对算法有任何想法我可以编写代码来给我信息我需要。我觉得计算样式标签中包含的宽度所需的所有信息都是必需的,所以这应该是可行的。
谢谢!
[编辑]为我的问题添加更多背景知识,我真正想做的是将一个HTML页面传递给我的模块离线,并调整该HTML的大小,使其宽度不超过800px,大多数情况下 - 所有标准浏览器配置。我传递的HTML完全由具有绝对位置的div组成,所以我想如果我可以对每个div的宽度进行合理的低球猜测,我会大致知道我需要做什么因素每个人的字体都比较小。 [/编辑]
答案 0 :(得分:3)
Perl通常在服务器上运行,而不是在浏览器中运行,并且您所寻找的信息无法通过任何语言直接从服务器访问。如果你真的需要服务器上的那些信息(而且我不能轻易想象你想要的任何场景......),你将不得不向客户端发送一些JavaScript,这将获得info并将其发送回服务器,可能是通过AJAX。
答案 1 :(得分:1)
您的数字属性均无效;都需要规定单位;例如:
<div style="left:162px;vertical-align:top;color:#000000;top:1.26in;position:absolute;font-family:Times;font-size:14pt;">
最好,在ems(font-size:1.4em;)中指定字体大小和top:property(top:1.26em),因为不推荐使用绝对单位。