我的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 source
(CTRL + ü)。
Generated source
更像是基于DOM的HTML重构,并且包括例如在页面加载后使用javascript在客户端创建的节点。
非常感谢男人清理那个。这是一个奇怪的问题。 – 2012-04-05 09:12:03