簡體   English   中英

HTML1527:預計為DOCTYPE。 有效的最短文檔類型是“ <!DOCTYPE html> ”

[英]HTML1527: DOCTYPE expected. The shortest valid doctype is “<!DOCTYPE html>”

美好的一天,

我正在使用ac#Web應用程序,一切正常,直到添加了普通的JavaScript。

html代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="scripts/JScript.js" type="text/javascript"></script>
<asp:ContentPlaceHolder id="headContent" runat="server">
    </asp:ContentPlaceHolder>
</head> 
<body>

<asp:ContentPlaceHolder id="title" runat="server"></asp:ContentPlaceHolder>
<asp:ContentPlaceHolder id="bodyContent" runat="server"></asp:ContentPlaceHolder>
<!-- some code here -->
</body>

JScript.jsJScript.js的JavaScript。

JavaScript代碼如下:

function getCookie(catId) {
  var ebRand = Math.random() + '';
ebRand = ebRand * 1000000; 

document.write('<scr' + 'ipt src="HTTP://bs.serving-sys.com/Serving/ActivityServer.bs?cn=as&amp;ActivityID=553971&amp;rnd=' + ebRand + '"></scr' + 'ipt>');
}

單擊鏈接按鈕時將觸發此JavaScript函數。

我在IE中遇到錯誤,但Chrome和Mozilla正常運行。

我在IE控制台中的錯誤是HTML1527: DOCTYPE expected. The shortest valid doctype is "<!DOCTYPE html>". HTML1527: DOCTYPE expected. The shortest valid doctype is "<!DOCTYPE html>".

在Google搜索后,我嘗試放入

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

作為新的DOCTYPE ,但它也不起作用。

而且我嘗試把

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

<head></head>

但是我仍然在IE中也遇到相同的錯誤。

ContentPlaceHolder是否有問題?

除此之外,我已經去了W3C標記驗證服務來對地址做一些驗證:

http://validator.w3.org/check?uri=HTTP%3A%2F%2Fbs.serving-sys.com%2FServing%2FActivityServer.bs%3Fcn%3Das%26amp%3BActivityID%3D553971%26amp%3Brnd%3D20079。 082210606393&字符集=%28detect +自動%29&DOCTYPE =內嵌&組= 0

並轉到http://validator.w3.org/check放入<script src="HTTP://bs.serving-sys.com/Serving/ActivityServer.bs?cn=as&amp;ActivityID=553971&amp;rnd=20079.082210606393"></script>

但不了解驗證結果的含義。

我從IE腳本控制台獲得的信息 好心提醒。

IE 發出有關<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">警告 ,因為根據HTML5,這樣的字符串不是有效的doctype 這樣的警告對任何事物都沒有影響。 這只是HTML5宣傳的一部分。

將其更改為<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> ,問題已刪除。 但是您可能會看到使用某些文檔類型錯誤的緩存副本的結果。 使用新文件(使用新名稱)進行測試應該可以解決此問題。

當然,這樣的代碼不會驗證,因為ASP標記是從字面上獲取的,並且被解釋為body內容,但這是一個不同的問題。

實際的做法是按照建議使用<!DOCTYPE html> 例如,如果您仍然希望根據XHTML 1.0規范進行驗證,則可以使用驗證器的用戶界面來覆蓋doctype來執行此操作。

但這不是一個大問題。 您也可以直接忽略警告。 如果您遇到某些功能錯誤,則這些錯誤是由其他原因引起的,應單獨詢問並提供足夠的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM