XHTML和HTML主要有以下不同

1、所有的标签必须闭合

2、部分标签必须自动闭合

3、图片必须有可替换文本

4、嵌套标签必须遵照一定次序

例如:

错误的次序:<strong><em><u>example</strong></u></em>

正确的次序:<strong><em><u>example</u></em></strong>

5、标签必须是小写字母

6、页面要求合法的XHTML文档格式【含有<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">】

使用XHTML可以更好保证网页兼容性及扩展性,本博客主题原先是遵照XHTML标准的

可是由于增加的几个插件及JS验证…导致出现了几个错误

错误原先一共有8处…后来hyper cache更新后减少了两处由于此插件造成的错误

6处错误都发生在JS上…看来是由于XHTML误判断JS为HTML造成的

一开始我想的太天真了…直接把网页中的JS单独存放在一个JS文件中然后SRC连接

的确…成功通过检测了…但是….访客COOKIE验证出现了问题…原因在我的JS中用了这么一句

var md5="<?php echo md5(get_settings(‘home’)) ;?>"

这一句中包含了一个PHP代码,需要PHP解释的…可是单独存放出来后不经过PHP解释了..因此出现了问题

一开始想到了隐藏内容的办法

具体方法是将<input>加在模板中…其中value="<?php echo md5(get_settings(‘home’)) ;?>"属性=hidden,ID=MD5

然后用document.getElementById获得MD5

这样的确可行了…正在沾沾自喜时…发现……我真的是“世界上最聪明的笨蛋”【引自《机械公敌》“戴尔•斯普纳”语】

谷歌的广告代码也是直接插入在页面中的…但是却没有被误认..

原因是GG的广告代码中在开头和结尾分别使用了<!–与//–>

其实我原先那样做也挺好,但是JS分开放总是不太舒服…因此我又折腾了下…把JS放回来…然后加上那两样…

然后试了下W3C的反应…结果成功通过验证…