我的HTML标签被篡改

问题描述:

我有一个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"> 

好吧,我解决了它。花了我一会儿。在Marapet建议不使用“生成的源代码”后,我在一堆浏览器中尝试了正常的“查看源代码”,并在所有浏览器中获得了不同的结果。当我试图验证我的源时,我收到了一些奇怪的投诉:

发现非空格字符时未首先查看文档类型。预计<!DOCTYPE html>

元首缺少子元素标题的必需实例。

而我个人最喜欢的

最后一个错误后无法恢复。任何进一步的错误将被忽略。

看起来有些事情与文档类型有关。打开记事本并粘贴在那里,以便从元数据中“清除”代码,这是我将文件粘贴到tinyMCE时的方式。即使在记事本中,文本的格式也很奇怪。 doctype声明具有较小的字体大小,然后是其余的html。

因此,我打开它在记事本+ +太多,我有一堆问题在宣言前面。我删除它们并将其复制回Visual Studio,保存并且现在一切正常。

我认为我得到这个问题的原因是我直接从github上的HTML5 Boilerplate复制片段。

// Sherlock

如果要检查你的服务器生成的HTML,你应该使用View sourceCTRL + ü)。

Generated source更像是基于DOM的HTML重构,并且包括例如在页面加载后使用javascript在客户端创建的节点。

+0

非常感谢男人清理那个。这是一个奇怪的问题。 – 2012-04-05 09:12:03