1.DHTML: 动态HTML.传统的html是静态的,当它被加载到浏览器后,它只像一个画面,怎么看也不会发生变化,而动态Html则意味着web页面对用户有响应,即,动态Html能自动变化.
首先,它能跟踪页面上的每个元素,从最小的〈H6〉标题和〈HR〉水平标尺,到表单中所有元素.
其次,DHTML还需要一种方法来控制一个文档中所有需要控制的元素,可以通过一些脚本语言来完成,例如javascript或vbscript,脚本语言会把相关信息嵌入到页面上的每个元素,并查阅他们设置值,使之发生预想的变化。
简而言之,DHTML不是有关面向服务器的脚本、javaapplet或动画GIF图象,所有的这些操作都可以自己完成,除了改变页面内容外,不需要访问服务器。页面下载后,不论什么时候,DHTML都能处理页面元素,改变页面版面、内容和位置。并把结果不断的提供给用户。
目前DHTML没有统一的标准,Microsoft、Netscape、与w3c各不相容。有时去一些站点浏览时会发现它提示您最好用某某浏览器来看,就是说这个站点也许有不被兼容的DHTML 。
2. DOM: 万维网协会W3C(World Wide Web Consortium)制定了一个与平台和语言无关的规范,即文档对象模型DOM(Document Object Model)。
DOM将HTML、CSS(层叠样式表)和脚本语言联合起来组成一个或多个人都能实现的互操作模型。Netscape、Microsoft都向W3C提出了实现DOM的建议:使用动态HTML,即DHTML(Dynamic HTML)来解决问题。
3. CSS本身没有交互功能,要实现交互,就须将CSS定义的对象与文档模型(DOM)结合在一起,将Web文档转换为DHTML文档。DOM提供了脚本语言访问页上元素的途径,Microsoft和Netscape支持的对象模型有一些不同。
在Microsoft的模型中,脚本语言可以访问HTML页面上的所有元素,所有元素都被反映为document.all中的对象。下面的程序段用于写出页面中所有的元素:
for (I=0;I〈document.all.length;I++〉
{
document.write(document.all[I].tagName+”\n” );
}
在Netscape的模型中,脚本语言可以访问HTML页面上特定集合的元素,如〈layer〉标签中的内容。下面的程序段用于写出页面中所有layer的名称:
for (I=0;I〈document.layers.length;I++〉
{
document.write(document.layers[I].name+”\n” );
}