再说wordpress中的W3C标准

今天谈一下Feedsky生成的统计图标(Flash版)代码的问题。

Feedsky提供的那个Flash效果的统计订阅信息的图标确实是很漂亮,今天本站刚刚用上,效果见侧边栏右下角。但是问题出现了,这段代码并不能用过XHTML 1.0 Transitional的检测。这是为什么呢?我说一下我的修改方法吧:

首先看原始代码:

<object classid=”clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″ codebase=”http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0″ width=”200″ height=”90″ id=”feedstatview” align=”middle”>
<param name=”allowScriptAccess” value=”sameDomain” />
<param name=”FlashVars” value=”burl=sediyer&bar=0″>
<param name=”movie” value=”http://www.feedsky.com/flash/feedstatview.swf” />
<param name=”quality” value=”high” />
<param value=”transparent” name=”wmode” />
<embed src=”http://www.feedsky.com/flash/feedstatview.swf” quality=”high” wmode=”transparent” width=”200″ height=”90″ name=”feedstatview” align=”middle” allowScriptAccess=”sameDomain” FlashVars=”burl=sediyer&bar=0″ type=”application/x-shockwave-flash” pluginspage=”http://www.macromedia.com/go/getflashplayer” />
</object>

还是<embed>标签的问题,这个标签就如上次文章所说,已经没有什么实际用处了,完全删除即可。

之后看这行: <param name=”FlashVars” value=”burl=sediyer&bar=0″>

不得不说一下Feedsky的技术人员了,这个地方完全是疏忽所致。对比一下其他行,最后的结尾少了”/”,因为在w3c标准中,所有没有成对的空标签必须以 “/>”结尾。这样修改之后,代码变成了:

<object classid=”clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″ codebase=”http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0″ width=”200″ height=”90″ id=”feedstatview” align=”middle”>
<param name=”allowScriptAccess” value=”sameDomain” />
<param name=”FlashVars” value=”burl=sediyer&amp;bar=0″ />
<param name=”movie” value=”http://www.feedsky.com/flash/feedstatview.swf” />
<param name=”quality” value=”high” />
<param value=”transparent” name=”wmode” />
</object>

怎么样,能通过测试了吧~。效果见本站。我也是刚刚开始学习W3C标准,只是分享一下经验。希望大家提出我文章中的错误,谢谢!

订阅本站dfeed 如果您喜爱本站的内容,希望第一时间了解本站的更新 请订阅本站的RSS!

并且请牢记本站订阅地址: http://feed.sediyer.com/

tags: , , ,

文章分类: 互联网 | 没有评论

如何让你的Wordpress符合web标准

随着XHTML标准的推广,使您的站点符合web标准成为了一件越来越重要的事情。那么什么是web标准呢?简单说就是不用HTML+table来设计页面,改用XHTML+CSS来实现。现在您可以通过W3C验证网站去验证一下您的站点首页是否符合W3C标准。

怎么样,没想到会一下子出现几十甚至上百个不符合标准的情况吧?也许您会问为什么一个存在这么多不符合标准的代码的网页能够被IE和Firefox正确地显示出来呢?原因是许多不符合W3C便准的代码,比如说插入flash常用的”embed”,它其实是Netscape的一个私有标签,从HTML3.2一直到HTML4.0和现在的XHTML都没有收录这个标签,只不过浏览器的编写者为了使自己编写的浏览器能被大多数人使用而加入了识别”embed”的功能,这就好比少如人大多是情况下要服从于多数人的想法,即便这个想法是错误的(忽然想到了今天看到的一个《被中国人误传了数千年的七句话》)。

那么既然能正确显示,那么我们的页面代码为什么一定要符合W3C标准呢?既然是标准,那么就肯定有它制定的道理。XHTML标准首先来说增强了代码的严密性,也就是说降低了错误的出现率。其次,如果大家的代码书写都遵循一个规范,比方说编写java或C代码的时候遵守一定的缩进、空格和换行的规范,会使程序的可读性大大增加,迎合了当今的互联网共享的趋势。最后,也是因为可读性的增强,对于浏览器的开发也就有了一个与代码编写规范对应的规范标准,避免了由于IE不完全支持W3C标准而使一个页面在现在的IE和Firefox中显示效果不同的问题。

好了,切入正题,如何才能让您的Wordpress符合W3C标准呢?首先看一下W3C标准的说明。说明中已经详细的说明了各个代码部分的书写规范,下面我来说一下针对Wordpress的注意事项:

1.修改“博邻”生成的代码

您可以通过注册“博邻”获得一段代码,加入网页中就能有像本站右下角“博邻”的效果。但是这段代码是不符合W3C标准的,因为它含有”embed”标签。其实这个标签在这段代码中是没有用的,因为”object”已经能够实现”embed”的功能了,只有在极个别的情况下,比如说使用了很老版本或者很特殊的不支持”object”插入flash的浏览器浏览的时候,才会执行”embed”部分,因此需要把从<embed>到</embed>部分删除。

2.尽量使用一个链接分类,或者自己编辑sidebar.php实现连接表

这可能是wordpress的一个问题,或者是一些主题的问题,在使用了1个以上链接分类的站点,生成的页面代码中会在每个链接分类的标题处添加’id=”link”‘(其实没什么用)的代码,而多次添加这个代码是不符合标准的。可以自己编写链接表,放到侧边栏(sidebar.php),很简单的。

3. 部分插件的问题

部分插件,如Arctic’s Internal Alexa Redirect生成并嵌入网页的代码格式是如”<a herf=’http://…..’>”这样的,这也是错误的,W3C中规定任何值的属性都应是使用双引号(”")标注。修改插件对应部分代码即可。

4.后台编辑文章的问题

WP的后台对上传并插入图片的操作没有明确的提示需要为图片加入”alt”属性。在W3C标准中,每一个图片都要有”alt”属性。要手动加入。

5.使用windows live writer的问题

windows live writer是一个很方便的离线撰写工具,但是它的图片插入功能也有问题。默认情况下,它会给每个图片都添加’id=”id”‘的一个无用属性,就像上面说的,这个属性只能在一个页面中出现一次,否则就会被视为违反了标准。需要手动删除。

6.阿里妈妈广告代码

阿里妈妈广告代码的第一行:<script type=”text/JavaScript”> ,需要把”JavaScript”中的字母全部改为小写(不违反政策)。

今天我终于完全修改了我BLOG的所有不符合标准的代码,总结出了以上5点需要注意的地方,陆续可能会有补充。点击查看本页面的准验证

订阅本站dfeed 如果您喜爱本站的内容,希望第一时间了解本站的更新 请订阅本站的RSS!

并且请牢记本站订阅地址: http://feed.sediyer.com/

tags: , ,

文章分类: 互联网 | 3 条评论