□...网页制作的细节问题探讨

  一、关于网页框架名

  早在Netscape 2.0时就提出了框架的(Frame,或帧)的概念,这确实是一大创举。现在的Web邮箱、Web聊天室、论坛等有几个不是基于Frame的?因为超链接可能需要在不同的Frame中打开,所以每个Frame都要有自己的名字(即在的target="name")。

  一般来说,框架的名称除了不能使用像"_top"之类的有特殊含义的之外,是可以随意指定的,但是建议不要使用中文,因为Netscape不能很好地支持(不知新推出的Netscape 6.0怎样?)。另外,当前流行的所见即所得的网页编辑器(如DreamWeaver、FrontPage等)可能会按它们的习惯为框架的各个帧命名(如为导航性质的Frame取名"content",为主页面取名"main"等),这乍看好像并没什么不好,很通俗易懂嘛!但是,要知道大部分的浏览者是开着多个浏览器窗口同时浏览不同页面的,如果一个本来是要在名为"main"的Frame中打开的页面因为什么原因在一个单独的窗口中打开了,而它的超链接目标指向的都是"main",单击这些超链接时浏览器会检查当前的窗口中有无以"main"为名的Frame,如果没有,它会新开一个窗口并以"main"命名它,这样好像麻烦不是太大;但如果恰好有--不管它们是不是来自同一站点的,它会在那个Frame中打开!所以,对于框架名除了上面提到的应该注意之外,取一些独特而有意义的名字也是很重要的,如"my_main"。

  例:先开一个浏览器窗口,在地址栏里输入http://bbs2.sina.com.cn/show.shtml?arts:jinyong(新浪论坛的金庸客栈),把它最小化。然后将下面的代码写入一新建的HTML文档中,用浏览器的另一个窗口打开它,单击它的超链接,是不是没反应?别急,把新浪论坛窗口还原,是不是在这里打开了?现在你还敢用大众化的Frame名吗?

  微软中国

  二、 网页代码粘贴--难道脚本原本就有误?

  不会告诉我你从来没Copy & Paste 过别人的代码吧?在某报纸上看见一段代码觉得还挺好,但是自己懒得去敲,所以来到这个报纸的网站将代码Copy下来,然后在DreamWeaver中Paste,然后兴冲冲地按下F12预览,你可爱的浏览器告诉你脚本错误!检查了半天好像没与报纸上的代码有出入啊,难道是脚本真的错误?一般来说作者和编辑们都是很负责的,这种情况不太可能。应该考虑的可能是以下几方面。

  1. 作者出于印刷、版面等方面考虑,代码中使用了汉字的全角空格和其它全角字符(如全角的英文字符、单引号和双引号等),这种情况比较多见,也是最容易忽略的,在这种情况下浏览器会告诉你某行某字出现"非法字符"。如果文中全角英文字符很多,那只好自己重新来过了;如果只是全角空格、中文单双引号,解决的办法比较简单:在DreamWeaver的代码编辑状态中按下"Ctrl+H",在弹出的"Replace"对话框的"Find"栏中输入"口"("口"表示一个全角空格),然后关闭中文输入法,在Replace栏里输入两个英文空格,单击"Replace All"按钮即可。中文引号的替换也可采用此法,如将"`"替换为""。

  2. HTML保留了一些ASCII符号作为控制符,要在页面中输出这些ASCII符号必须使用HTML转义码,见下表。

  必要时可以访问以下链接:http://www.talisman.org/iso8859-1.html 获取更多关于HTML转义符的资料。因为存在这些转义字符,所以在你查看某些直接显示代码的页面的源文件并拷贝加以使用时就会发生错误,解决的办法是不要打开这些页面的源文件,直接在浏览器的窗口里选中代码拷贝即可。

  3. HTML使用双引号来指明一些标记的值,由于我们要在HTML文档中使用JavaScript,特别是在事件句柄中,所以一般我们都会养成在JavaScript语句中使用单引号的好习惯,这就可以避免与HTML代码冲突。但是,并不是所有人都会这样做,在他们提供的代码里还都是用了大量的双引号,所以代码粘贴之前要做的就是将相应的双引号替换为单引号。由于JavaScript保留了C语言的输出转义符"\",所以我们能够在引号里嵌套使用同级引号,请看下面的语句:

  document.write(狂尘视野);

  三、个性化的超级链接--真的能够个性化吗?

  早在HTML2.0标准制定的时候就提出了标签的title属性,这样鼠标在标签的范围内停留时浏览器应该给出由title定义的提示内容,就像当初IE扩展的标签的alt属性一样。HTML4.0更是把title应用到了所有主体(……)中的标签。但可惜的是Netscape就是对它不感冒,一直到了Netscape 6.0的Preview版连的title属性也不支持。所以建议大家不要把重要的提示放在title中,因为这样Netscape用户是看不到的。

  另外,也许大家都知道,用"style="cursor:hand""可以在MSIE中自定义超链接的鼠标风格,但也许没有人注意下面的语句在Netscape4.61中是怎样显示的:

  微软中国);

  //-->

  可怜的Netscape显示的是"微软中国_",其中"微软中国"三个字成了普通文本,只有后面莫名其妙的尾巴"__"才是可点击的超链接……哎,就算它不支持"style="cursor:hand""也不至于变成这样呀!不知道是不是它的一个小BUG。

  既然Netscape有这样的"个性特点",相信你不会为了所谓的个性化的链接而去使用这种IE才支持的提示和鼠标风格吧?不要忘记一般情况下这些使用Netscape的可能都是高手呀,忽略一群这样的高手绝对不是明智的选择!(西安 周辉腾)


□ 编辑整理:非常频道


本书由“E书时空”免费制作;
想要更多的免费电子图书,请光临
http://www.eshunet.com/