2013-02-26 95 views
0

我有這個問題。我需要得到瀏覽器的窗口高度,但$(window).height()返回更大的數字,可能是文檔高度。我一直在使用這個文檔結構多年。有什麼不對?

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs" dir="ltr"> 
<head> 
... 

會是什麼原因?

感謝


編輯:

我發現其中的錯誤了。我的文本編輯器(PSPad)自動啓用了在文件開頭處插入UTF8 BOM的選項。這導致doctype之前的隱形字符。這讓我很難過一次。但當時更明顯。我花了兩天的時間才找出錯誤的原因(頁面上的圖像消失了)以及webkit瀏覽器在主體中呈現頭標記。一塌糊塗。所以現在它可以在jQuery的所有新版本中完美工作。感謝幫助。

+0

你真的有理由使用XHTML嗎? – 2013-02-26 10:06:00

+0

你試過'$(document).height()'。如果沒有,那就試試這個。 – 2013-02-26 10:11:24

+0

@GauravVashishtha我認爲OP不希望文檔的高度,但視窗的高度。 – 2013-02-26 10:12:59

回答

0

你應該得到的視口的高度,如果你使用一個更現代的標題:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF8"/> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 

如果你真的需要XHTML,所以你應該使用這樣的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 

DOCTYPE元素必須成爲你文檔中的第一件事。

+0

是的,這是一個HTML5標頭。但我讀過嚴格的DOCTYPE就足夠了。這已經被棄用了嗎? – actimel 2013-02-26 10:09:03

+2

如果您在doctype之前添加了某些內容,可能會被忽略。我不認爲你現在的聲明是有效的。 – 2013-02-26 10:10:35

+0

我嘗試了第一個現代標題。但我得到相同的結果!我不明白這一點。 – actimel 2013-02-26 10:30:24