或者

WEB标准-标准测试

作者:月光边境 浏览:211 发布时间:2018-03-29
分享 评论 0

标准测试内容

  页面校验地址 http://validator.w3.org/

  CSS文档校验 http://jigsaw.w3.org/css-validator/

  XHTML 1.0 标准规格 : The Extensible HyperText Markup Language

  W3C标准测试网址 http://validator.w3.org/

  测试时一定要有文件类别宣告还有指定文件编码

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

  才能顺利进行测试动作,开始打造一个标准的网站!

  W3C标准测试使用说明

  1.XHTML 1.0文件类别宣告的正确写法 (不可小写)

  过度标准(外语全称:Transitional)

  公共标识符[1] 称为:“-//W3C//DTD XHTML 1.0 Transitional//EN”。

  <!DOCTYPE html

  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

  >

  框架标准(外语全称:Frameset)

  公共标识符[1] 称为:“-//W3C//DTD XHTML 1.0 Frameset//EN”。

  <!DOCTYPE html

  PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"

  >

  严格标准(外语全称:Strict) 包含以上须注意的问题,还有其他更严格的标准

  公共标识符[1] 称为:“-//W3C//DTD XHTML 1.0 Strict//EN”。

  <!DOCTYPE html

  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

  >

  2.头文件问题

  所有的网页头文件都一律都改为标准形式,写法如下:

  <head>

  <meta

  http-equiv="content-type"

  content="text/html; charset=gb2312" />

  <meta http-equiv="content-language" content="zh-cn" />

  <meta name="keywords" content="..." />

  <meta name="description" content="..."/>

  <title>...</title>

  </head>

  3.不允许使用target="_blank"

  在HTML4.01可以使用target="_blank",但XHTML1.0是不被允许的.

  我使用了一个HTML4.0的新属性:rel,这个属性用来说明链接和包含此链接页面的关系,以及链接打开的目标。

  原来这样写的代码: 打开一个新窗口

  现在要写成这样:打开一个新窗口

  这是符合strict标准的方法。当然还必须配合一个javascript才有效。

  javascript完整的代码JS如下:

  function 外部链接()//万国码unicode javascript

  {

  if (!document.getElementsByTagName) return;

  var anchors = document.getElementsByTagName("a");

  for (var i=0; i<anchors.length; i++)

  {

  var anchor = anchors;

  if (anchor.getAttribute("href") &&

  anchor.getAttribute("rel") == "external")

  anchor.target = "_blank";

  }

  }

  window.onload = 外部链接;

  你可以把它保存成一个.js文件(比如外部链接.js),然后通过外部联接方法调用:

  <script type="text/javascript" src="外部链接.js"></script>

  4.XHTML 1.0要求所有的标签必须关闭

  所有没有成对的空标签必须以 />结尾

  和这就是成对

  错误

  <hr>

  正确

  <hr />

  错误 <input type="text" name="name">

  正确 <input type="text" name="name" />

  错误 <meta ...>

  正确 <meta ... />

  错误 <link rel="stylesheet" type="text/css" href="style.css">

  正确 <link rel="stylesheet" type="text/css" href="style.css" />

  错误 <img src="bg.gif" border="0" alt="说明文字">

  正确 <img src="bg.gif" border="0" alt="说明文字" />

  5.所有标签元素名称都使用小写

  错误 <HTML> <TITLE> <HEAD> <BODY>

  正确 <html> <title> <head> <body>

  错误 <IMG SRC="BG.GIF" BORDER="0" ALT="说明文字">

  正确 <img src="bg.gif" border="0" alt="说明文字" />

  错误 <UL><LI></LI></UL>

  正确 <ul><li></li></ul>

  以上只是举例,是"所有"标签元素名称都必须是小写

  6.同一个id选择器不可重复使用

  一个网页中id="xx"同一个选择器不能重复使用,若需要重复请用class="xx"

  7.标签必须是一对

  [font][/font]

  8.正确的标签顺序

  错误文字

  正确文字

  9.JavaScript写法

  Javascript我们通常会写为

  错误 <script language="javascript">

  W3C标准必须为程式指定类型type=text/javascript,所以要写为

  正确 <script type="text/javascript">

  或者 <script language="javascript" type="text/javascript">

  载入外部.js独立档案的写法

  正确 <script type="text/javascript" src="script.js"></script>

  10.绝对不可省略双引号或单引号

  错误 style=font-size:9pt

  正确 style="font-size:9pt"

  错误 <img src=bg.gif width=140 height=30 alt=text />

  正确 <img src="bg.gif" width="140" height="30" alt="text" />

  错误 text

  正确 text

  11.图片标签加上文字说明alt="说明"

  错误 <img src="bg.gif" height="50" border="0" />

  正确 <img src="bg.gif" height="50" border="0" alt="说明文字" />

  12.背景音乐不允许使用 bgsound 标签

  我只好用JavaScript解决这个问题。javascript完整的代码如下:

  <!-- Begin

  var MSIE=navigator.userAgent.indexOf("MSIE");

  var NETS=navigator.userAgent.indexOf("Netscape");

  var OPER=navigator.userAgent.indexOf("Opera");

  if((MSIE>-1) || (OPER>-1)) {

  document.write("<BGSOUND SRC=背景音乐地址 LOOP=INFINITE>");

  } else {

  document.write("<EMBED SRC=背景音乐地址 AUTOSTART=TRUE ");

  document.write("HIDDEN=true VOLUME=100 LOOP=TRUE>");

  }

  // end -->

  你可以把它保存成一个.js文件(比如bjmusic.js),然后通过外部联接方法调用:

  <script type="text/javascript" src="bjmusic.js"></script>

  13. 标签的争议

  <embed>是Netscape的私有标签,W3C 从HTML3.2 HTML 4.01 到 XHTML 1.0 中都没有这个标签,所以使用的页面是不能通过标准测试。

  W3C推荐使用 <object> 标签,用<object>插入flash影片的代码可以写为:

  <object type="application/x-shockwave-flash" data="index.swf" width="400" height="200">

  </object>

  但这样的写法可能IE5/IE6 Win浏览器版本会出现问题。

  标签因为广大的受到运用,不再标准范围引起很大的争议,想要解决这个问题,只能等IE浏览器对<object>有更好的支持或者W3C愿意收录标签。

  14. 不允许使用框架标签<IFRAME>

  这次又要用JavaScript解决问题了。javascript完整的代码如下:

  function ifr(url,w,h){document.write('<iframe id="ifr" name="ifr" width="'+w+'" height="'+h+'" border="0" frameborder="0" scrolling="no" src="'+url+'"></iframe>');}

  把它保存成一个.js文件(比如ifr.js),然后通过外部联接方法调用:

  <script type="text/javascript" src="ifr.js"></script>

  在你需要插入框架的地方写以下代码即可:

  <script type="text/javascript">ifr('需插入的网页地址','567','485');</script>

  函数ifr()使用说明:ifr('这里写地址','这里写宽度','这里写长度',)

  15.google广告问题

  google广告的代码是不符合W3C标准的,我只好又把它转成JS调用,但GOOGLE政策里是写着不允许修改代码的,

  关于这点我正在写信给GOOGLE询问中,应该很快会有答案。

  我的JS文件(google.js)代码如下:

  document.writeln("<script type=\"text\/javascript\"><!--");

  document.writeln("google_ad_client = \"pub-0538745384335317\";");

  document.writeln("google_ad_width = 125;");

  document.writeln("google_ad_height = 125;");

  document.writeln("google_ad_format = \"125x125_as\";");

  document.writeln("google_ad_type = \"text_image\";");

  document.writeln("\/\/2007-06-29: www.ybj86.cn");

  document.writeln("google_ad_channel = \"4751988107\";");

  document.writeln("google_color_border = \"1a1a1a\";");

  document.writeln("google_color_bg = \"1a1a1a\";");

  document.writeln("google_color_link = \"d0eb6a\";");

  document.writeln("google_color_text = \"ffffff\";");

  document.writeln("google_color_url = \"8ad459\";");

  document.writeln("google_ui_features = \"rc:6\";");

  document.writeln("\/\/-->");

  document.writeln("<\/script>");

  document.writeln("<script type=\"text\/javascript\"");

  document.writeln(" src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">");

  document.writeln("<\/script>")

  各位朋友可以按照自己的情况修改,网上也有把HTML代码转为JS代码的地方。

  最后在需要挂广告的地方放入代码 <script type="text/javascript" src="google.js"></script>

  其他需注意的地方:

  16.注解文字不可包含--符号

  错误 <!-- OEC--SPACE -->

  正确 <!-- OECSPACE -->

  17.正确使用CSS样式表

  一定要放在<head></head>之间

  <link rel="stylesheet" type="text/css" href="style.css" />

  <style type="text/css">

  <!--

  body{font-size:9pt;}

  -->

  </style>

  错误 <style>

  正确 <style type="text/css">

  18.使用表格常犯的错误

  我们在做表格通常会指定宽与高,例如:

  内容

  这样做是没有办法通过,W3C建议使用CSS来控制标签元素的高度

  .table{

  height:55px;

  }

  TEXT

  但是若使用太多表格,在CSS一一指定不同高,也不是好方法

  其实很简单将高度height属性指定在储存格就可以了通过测试

  TEXT

  但这不是w3c希望的标准,建议能够使用div代替不必要的table

  19.非标签一部分的符号以编码表示

  表单内包含以下符号也必须用编码表示

  < 以 &lt; 表示

  > 以 &gt; 表示

  & 以 &amp; 表示

  程式中的连结 & 也要改用 &amp;

  错误 <a href="foo.cgi?chapter=1&ion=2">

  正确 <a href="foo.cgi?chapter=1&amp;ion=2">

  20.所有属性都必须有值

  XHTML1.0规定所有属性都必须有值,若没有就必须重复属性作为值

  错误 <input type="radio" value="v1" checked name="s1" />

  正确 <input type="radio" value="v1" checked="checked" name="s1" />

  错误 <option selected>S1</option>

  正确 <option selected="selected">S1</option>