2011-06-13 35 views
0

我有一堆格式的HTML的div:如何獲取寬度在HTML的div PX在Perl

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

我希望做的是提取物從該分區的預期寬度文本。我知道我可以在Javascript中使用像obj.offsetWidth()這樣的東西來做到這一點,並想知道是否有任何類似的CPAN模塊可以爲Perl做到這一點,或者如果任何人有任何關於算法的想法,我可以編碼,這將給我的信息我需要。我覺得所有的信息都需要計算寬度應該包含在style標籤中,所以這應該是可行的。

謝謝!

[編輯]爲我的問題添加更多背景,我真正想要做的是將HTML頁面傳遞給我的模塊脫機,並調整HTML大小以使其寬度不超過800px - 所有標準的瀏覽器配置。我通過的HTML完全由絕對位置的div組成,所以我想我是否可以對每個div的寬度做出合理的低球猜測,我大概知道我需要做什麼因素每個人的字體更小。 [/編輯]

+2

這取決於渲染它的計算機上安裝的特定Times版本的大小,以及「瀏覽器」的默認字體大小(因爲'font-size:14'是無效的,應該忽略)。 – Quentin 2011-06-13 21:08:17

+2

爲什麼你想知道寬度?這個問題背後還有另一個問題,也許我們可以幫助你。 – ysth 2011-06-13 21:44:59

+0

在編輯中添加了更多信息。 – Eli 2011-06-14 14:17:44

回答

3

Perl通常運行在服務器上,而不是在瀏覽器中,並且您尋求的信息不能從服務器以任何語言直接訪問。如果你真的需要服務器上的信息(我不能輕易想象任何情況下,你會......),你必須發送一些JavaScript到客戶端,它會獲得信息並將其發回到服務器,可能通過AJAX。

1

您的數字屬性都不是有效的;都需要規格單位;例如:

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

更好,指定字體大小和頂部:在EMS:(1.26em頂部)(字體大小:1.4em)屬性作爲使用的絕對單位被棄用。

相關問題