2012-09-27 25 views
0

我繼承了一些使用Java Script進行計算並在畫布標籤上繪製圖形的頁面。添加了doctype後破譯的JavaScript

他們的JS頁面沒有<!DOCTYPE html>;他們只是從<html>標籤開始。

我的網站有<!DOCTYPE html>現在,我將該代碼添加到我的網站它不起作用。

任何想法如何去做這件事?

+9

向我們顯示代碼。 –

+3

因此,它只是整天坐在沙發上,吃甜甜圈和看日間肥皂? 「它不起作用」是什麼意思呢? –

+0

看看http://gexconcom.ipage.com/toold/test.php 如果我在那裏添加一個doctype,正在爲結果繪製的圖不再有效。 我不知道該在這裏做什麼。 – user1701964

回答

4

這是因爲如果在<html>標記之前沒有DOCTYPE語句,那麼您的瀏覽器正在以「怪異模式」運行。

這意味着編寫javascript的人依靠怪癖模式來執行它。因此,現在您已擁有DOCTYPE標記,您的瀏覽器正在使用不同的一組行爲,正如由DOCTYPE中指定的任何版本所定義的那樣。

兩者之間的區別是微妙的,直到您的代碼中斷。我以前從來沒有把DOCTYPE標籤放到這個確切的問題上來咬我。

+1

由服務器提供的頁面的DOCTYPE內容幾乎總是不相關的。瀏覽器在resopnse頭文件中使用內容類型(這就是爲什麼具有XHTML DOCTYPE的文檔被視爲HTML,因爲這是它們的內容類型中使用的)。僅僅存在或不存在觸發標準或怪癖模式的DOCTYPE。 – RobG