2012-04-04 96 views
2

我有一個Umbraco 5 MVC3項目,我發現那裏有空白處。在調查時,我發現我的HTML在firefox web developer工具中「查看生成的源代碼」時顯得非常糟糕。例如,它刪除我的doctype聲明並將我的元標記和內容移出頭部。簡化代碼:我的HTML標籤被篡改

<!doctype html> 
<html class="no-js" lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width"> 
    <title>@ViewBag.Title</title> 
    <link rel="stylesheet" href="@Url.Content("~/Content/Styles/style.css")"/> 
</head> 
<body id="" class="default"> 
    <div id="wrapper"> 
     <header id="banner" class="body"> 
      <a class="ir logo" href="/"><h1>Christian </h1></a> 
      <ul class="share"> 
       <li id="facebook"><a class="ir" href="http://www.facebook.com/[email protected]">Facebook</a></li> 
       <li id="twitter"><a class="ir" href="http://twitter.com/share?text=Christian">Twitter</a></li> 
      </ul> 
      @Html.Partial("nav") 
     </header> 
     <section id="content" class="body"> 
      @RenderBody() 
     </section> 
    </div> 
    <script src="@Url.Content("~/Scripts/plugins.js")"></script> 
    <script src="@Url.Content("~/Scripts/script.js")"></script> 
</body> 
</html> 

和輸出是這樣開始的

<html class="no-js" lang="en"><head></head><body id="" class="default"> 

回答

0

好吧,我解決了它。花了我一會兒。在Marapet建議不使用「生成的源代碼」後,我在一堆瀏覽器中嘗試了正常的「查看源代碼」,並在所有瀏覽器中獲得了不同的結果。當我試圖驗證我的源時,我收到了一些奇怪的投訴:

發現非空格字符時未首先查看文檔類型。預計<!DOCTYPE html>

元首缺少子元素標題的必需實例。

而我個人最喜歡的

最後一個錯誤後無法恢復。任何進一步的錯誤將被忽略。

看起來有些事情與文檔類型有關。打開記事本並粘貼在那裏,以便從元數據中「清除」代碼,這是我將文件粘貼到tinyMCE時的方式。即使在記事本中,文本的格式也很奇怪。 doctype聲明具有較小的字體大小,然後是其餘的html。

因此,我打開它在記事本+ +太多,我有一堆問題在宣言前面。我刪除它們並將其複製回Visual Studio,保存並且現在一切正常。

我認爲我得到這個問題的原因是我直接從github上的HTML5 Boilerplate複製片段。

// Sherlock

2

如果要檢查你的服務器生成的HTML,你應該使用View sourceCTRL + ü)。

Generated source更像是基於DOM的HTML重構,並且包括例如在頁面加載後使用javascript在客戶端創建的節點。

+0

非常感謝男人清理那個。這是一個奇怪的問題。 – 2012-04-05 09:12:03