獲取

2012-06-27 40 views
0

我使用PHPQuery解析HTML文件的HTML標籤的尺寸,我需要一個給定的標籤的高度和寬度,在jQuery中有可能使用類似獲取

height=$("div.content").height(); 
width=$("div.content").width(); 

但PHPQuery沒有這樣的作爲高度(),寬度()函數的東西有沒有什麼辦法來獲得維度?

+0

這取決於CSS,圖像和HTML框模型。這也取決於你渲染的區域的大小,它甚至可以取決於頁面自己的Javascript代碼。這是一個非常複雜的問題。 – SLaks

+3

PHPQuery不僅僅是一個CSS選擇器DOM API嗎?即在任何時候都與輸出無關?我可以提醒你,PHP(甚至是PHPQuery)是* serverside *。 – PeeHaa

+0

如果你想在服務器端使用jQuery,你可以每次使用無頭瀏覽器。 http://phantomjs.org/ – hakre

回答

1

PHPQuery只是讓你以類似於jQuery的方式遍歷文檔。它實際上並不呈現文檔,因此它不知道每個元素在瀏覽器呈現時的實際大小。

爲了計算元素的寬度和高度,它需要解析樣式表,應用所有這些規則,獲取該元素(及其後代)使用的任何圖像,並使用適當的字體呈現該元素(s) - 甚至可能還會呈現父元素。並且不能保證生成的維度將匹配某些特定的客戶端配置,因爲客戶端環境可能導致元素以不同的大小呈現(DPI是最明顯的示例,但即使瀏覽器窗口的大小也會影響任何給定元素的大小)。