2011-08-25 108 views
0

編輯: 問題似乎是字體大小沒有明確設置,並且僅由css類設置。所以style.fontSize總是返回一個空字符串如何獲取網頁中元素的文字字體大小

如果還有其他方法返回字體大小?

var allMainFrameElems = parent.main.document.getElementsByTagName('*'); 

for (i=0; i < allMainFrameElems.length; i++){ 
       if(allMainFrameElems[i].style.fontSize != null){ 
         alert(llMainFrameElems[i].style.fontSize); 
       } 
} 
+0

你想知道你的尺寸是什麼尺寸:px,pt,ex,em,cm,mm,in,pc或相對於頁面上的其他東西? –

回答

0

爲了甚至接近這樣做,你將需要做一些技巧,並將無法defintively確定字體大小。基本上,你將不得不在每一個元素(不好)上操縱頁面來確定這一點。

看到這個小提琴的頁面,特別是pixelPerEm函數我很快就扔在一起。 http://jsfiddle.net/MarkSchultheiss/vc8Zy/

目前它並不是很乾淨,如果我有時間,我可能會嘗試做得更好,但它可能會給你一些啓動的東西,即使它不是很漂亮。

編輯:基本的解釋是利用 css,注入一個已知設置的元素,計算注入時的像素偏移,然後刪除注入的元素。沒有一件是漂亮的,全部都是錯誤/錯誤傾向或有潛在的問題。

1

如果fontSize風格中的元素(例如<p style="font-size:12pt;">...</p>)上沒有明確設定,你將不能夠從任何地方得到它。字體大小通常是在CSS類中設置的,它們不能從元素的屬性中獲得,並且元素沒有任何與字體大小相關的屬性。

+0

是的,這是問題,我不能設置字體大小,因爲有幾十頁都有不同的類。沒有任何解決辦法嗎? – code511788465541441

相關問題