下面是一个简单的W3C验证代码,用于打印"Hello World":
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title>Hello</title>
</head>
Hello World
</html>
Run Code Online (Sandbox Code Playgroud)
但是当我用MS Word做同样的事情时,生成的代码是449行为什么所有这些额外的行都出现在代码中?
sgr*_*lon 13
Word的名称空间:
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">
Run Code Online (Sandbox Code Playgroud)
Word保持元数据信息:
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>xxxxxx</o:Author>
<o:LastAuthor>xxxxx</o:LastAuthor>
<o:Revision>2</o:Revision>
<o:TotalTime>0</o:TotalTime>
<o:Created>2015-05-25T11:40:00Z</o:Created>
<o:LastSaved>2015-05-25T11:40:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>1</o:Words>
<o:Characters>11</o:Characters>
<o:Company>Sopra Group</o:Company>
<o:Lines>1</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:CharactersWithSpaces>11</o:CharactersWithSpaces>
<o:Version>12.00</o:Version>
</o:DocumentProperties>
</xml><![endif]-->
Run Code Online (Sandbox Code Playgroud)
Word添加css样式:
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:-536870145 1107305727 0 0 415 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-536870145 1073786111 1 0 415 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0cm;
margin-right:0cm;
margin-bottom:10.0pt;
margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes; ......
Run Code Online (Sandbox Code Playgroud)
Word使用css样式:
<p class=MsoNormal>Hello World</p>
Run Code Online (Sandbox Code Playgroud)
如果您将来需要修改此信息,则需要保留此信息.如果您正在进行简单导出,则可以删除所有元数据.
如在解释该链接,该代码被加到用于MS Office的目的; 除此之外,它还可以让您更轻松地在Word中继续编辑文档.我收集的大部分膨胀都只是布局和文档信息.我将发布相关报价以供链接腐烂时使用.
[...]原来这些HTML文件是由Microsoft Word创建的!由于一系列不同的网页设计和设计师多年来,以及营销部门的健康编辑,我们客户当前网站的四分之一网页是使用Microsoft Word创建或修改的!
当我们滚动浏览HTML文件时,我们看到了大量的额外数据,而普通的Web浏览器无法解释这些数据.一点点研究为我们解释了它.Microsoft允许您将文档另存为HTML文件.他们还希望您能够打开使用Microsoft Office创建的HTML文件,并像普通文档一样继续编辑它.由于Microsoft Office具有HTML和CSS不具备的各种功能,因此Office允许Office在编辑之间保留HTML文件中的某些信息.
存储的一些数据是显而易见的:文档创建时和由谁编写,编辑时间,段落计数等.其他不太明显的数据,如VML,DHTML行为,列和页面间距,Word样式信息,嵌入对象数据,以及更多也存储在文件内.所有这些Office特定数据都存储在HTML文件中,并包含在特殊条件注释中,例如
<!--[if gte mso 9].这隐藏了其他读取HTML的程序的内容.
正如Adriano Repetti指出的那样,有一些代码可以处理旧版本的Office.
<!--[if gte mso 9]> ...
<!--[if gte mso 10]> ...
Run Code Online (Sandbox Code Playgroud)
检查MS Office版本的兼容性以确定布局.应该提一下,在Word中编辑HTML不是我推荐的.永远.
尝试NetBeans,它是免费的,真棒:)
我听起来像汽车推销员......*抱怨*
| 归档时间: |
|
| 查看次数: |
1360 次 |
| 最近记录: |