动态HTML的问答

动态

——问:时常听到“动态HTML (Dynamic HTML)”这种说法,但我不明白它所指的是什么。我建议你在合适的机会讲讲动态HTML。

——答:首先我要讲的是,动态HTML作为浏览器自带的功能,实际上只是一种概念,它并不属于一种专门技术(如Javascript,Activex),它不是标签,不是Plug-in,也不是浏览器。 动态HTML(简称为DHTML)是近年来网络发展进程中最振奋人心也最具实用性的创新之一。它是一种通过各种技术的综合发展而得以实现的概念(当然,不同的浏览器,实现的程度也不同),这些技术包括Javascript, VBScript, DocumentObject Model(文件目标模块),Layers和Cascading StyleSheets(CSS)等。
   那么,什么是动态HTML?简而言之,动态HTML就是一种即使在网页下载进浏览器以后仍然能够随时变换的HTML。比如,当鼠标移至文章段落中,段落能够变成蓝色,或者网页抬头能够滑过电脑屏幕。HTML中能够做的一切在网页下载后还能够再重复。
   那么,下载之后的HTML如何进行变化?这就需要一些手段来指使浏览器完成这些变化,这就是我们要提到的构成DHTML的各种技术:
   动态HTML是一种客户端的程序语言(Client-sideScripting Language)长期以来人们运用服务器端编写程序(尤其是Javascript和VBScript)来使HTML产生变化。当鼠标滑过一幅图象,这幅图产生变化时,那么这就是一个典型的动态HTML的例子。微软和Netscape的4.0版本的浏览器都具备了动态HTML编写语言,从而使得网页中更多的HTML功能元素(HTMLElements)得到发挥。这种将网页功能元素(或者文件目标)通过编写语言全面开放的机制被称为Document Object Model(DOM, 文件目标模块)。
   动态HTML是文件目标模块(DOM)
   在某种意义上,DOM是动态HTML的真正核心内容。正是它使得HTML具备了变动性。DOM体现的是网页元素的等级关系,这些元素在指定的时间在浏览器上呈现。DOM包括时空背景信息,如当前的日期、时间,包括浏览器自身属性,如浏览器的版本号,包括窗口自身属性,如网页的URL,最后还包括各HTML元素,如<p>标签,divs,或者表格。通过将DOM向动态HTML语言公开,浏览器能够使网页更多的功能元素发挥作用。如果象日期、时间之类的元素不能够自动变换的话,它也可以通过Scripts修改其他Elements来完成。
   在IE4.0之前,也有一种DOM,不过,有了IE4.0之后,用于在浏览器上运行的任何一种程序语言,都能够发挥页面的HTML每一部分元素的功能。
   (注:尽管Netscape的DOM较之IE的DOM有很多的局限性,不过你可以将网页中要变换的部分放置进分层容器(LayerContainer)里,再改变该层。Netscape声称在以后浏览器的新版本中,这种功能将完全支持W3C所定的DOM标准。)
   DOM中指定元素进行变换的那部分称为Event Model(事件模块)。所谓的“事件”指的一系列对页面进行的动作,诸如将鼠标在一页面Element上移动(onmouseover),进行网页发布(onload),提交一个反馈表格(onsubmit),点击反馈表输入区(onfocus),等等。
   动态HTML是串接样式表(Cascading StyleSheets,CSS) 由于CSS属于DOM的一部分,它的属性也可以通过动态HTML编写语言得到体现,因此能够实现页面外在视觉效果的几乎一切变化。通过改变页面元素的CSS属性(如颜色、位置、大小),你可以达到你机器的带宽和处理器运行速度允许范围内的一切效果。
   综上所述,CSS是你进行网页改变的对象,DOM是其具有变动性的机制,而Client-side Scripting是实际促成变化的程序。这,就是动态HTML。

时间: 2025-02-01 16:52:45

动态HTML的问答的相关文章

PHP动态网站制作中关于文件操作的疑难问答

前言: PHP中对各类数据库的操作有着支持,对文件的操作也同样有着很丰富的操作方法,很多朋友现在的操作还是基于文件操作可是有的时候在操作文件的时候还存在不少的困惑和疑点,以下是我在日常编写过程中碰到的以及坛上朋友所碰到的关于文件操作的一些问题收藏吧. 问:如何新建一个文件? 答: 1.使用fopen(要建立的文件名,参数),参数可选w,w+,a,a+ 2.使用exec(echo '' > 要建立的文件名);这样是使用系统方式建立这个文件,你还可以使用touch这个linux命令来建立 问:为什么

揭开知识库问答KB-QA的面纱2·语义解析篇

作者丨刘大一恒 学校丨四川大学博士生 本期我们从传统方法之一的语义解析(有时也被称为语义分析)开始,以一个经典的语义解析 baseline 方法为例,介绍语义解析如何进行 KB-QA.该方法来自斯坦福 Berant J, Chou A, Frostig R, et al. 的Semantic Parsing on Freebase from Question-Answer Pairs,文章发表于 2013 年的 EMNLP 会议. 1. 什么是语义解析 在揭开知识库问答KB-QA的面纱1·简介篇

动态网页PHP程序员的优化调试技术和技巧

本文介绍调试PHP应用程序的各种方法,包括在Apache and PHP中打开错误报告,以及通过在一个简单的PHP脚本中放置策略性的print语句,找到更困难的bug的源头.还会介绍用于Eclipse的PHPEclipse插件,这是一个灵活的开发环境,具有实时语法解析能力,还会介绍PHPEclipse的DBG调试器扩展. 简介 有许多 PHP 调试技术可以在编码的时候节约大量时间.一个有效却很基本的调试技术就是打开错误报告.另一个略微高级一点的技术包括使用 print 语句,通过显示在屏幕上实际

ASP.NET MVC动态二级域名及DNS泛解析配置

动态二级域名的实现: 应用场景:目前产品要实现SaaS功能,因为工作需要实现二级域名:www.{CompanyUrl}.xxx.com 假设产品主域名入口为:www.xxx.com 当a公司租户登录时:www.a.xxx.com 当b公司租户登录时: www.b.xxx.com 首先想到的是对Url的重写:(网上有关于UrlRewrite的实现.在ASP.NET中这也是常用的手法.) Route简介:ASP.NET路由可以不用映射到网站特定文件的URL.由于该 URL 不必映射到文件,因此可以使

JavaScript动态改变网页图片大小

在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了.如果对每个插图都先进行缩放再插入的话,太麻烦了. 我前段时间写的一篇文章就遇到过这种事情,后来用CSS的overflow和max-width属性暂时解决了页面变形的问题.这种方法好处是简单,但坏处是会破坏某些细节的效果. 如overflow:hidden,意思是当内部元素宽度大于父框架时隐藏超出宽度的部分.这样做可能会是一些内容突然截断,被隐藏了,很对不起观众. 通过max-width属性限制文章插图最大宽度的话,需

js的动态加载、缓存、更新以及复用(一)

使用范围: OA.MIS.ERP等信息管理类的项目,暂时不考虑网站. 遇到的问题: 完成一个项目,往往需要引用很多js文件,比如jQuery.js.easyUI等.还有自己写的一些列js文件,那么这些文件如何方便的加载,如果文件有变化如何才能让客户端及时更新缓存?如果能够提高点运行效率,那就更好了. 目标: 1.  可以方便的引用js文件. 2.  尽量使用各种缓存,避免频繁从服务器读取文件. 3.  如果js文件有更新或者增加.减少几个减少js文件,需要客户端能够自动.立刻更新. 4.  Js

动态样式语言Scss&amp;amp;Less介绍与区别

一. Sass/Scss&Less是什么? Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,语法跟css一样(但多了些功能),比css好写,而且更容易阅读.Sass语法类似与Haml,属于缩排语法(makeup),用意就是为了快速写Html和Css. Less一种动态样式语言. 将CSS赋予了动态语言的特性,如变量,继承,运算, 函数. LESS 既可以在客户端上运行 (支持IE 6+, Webkit, Firefox),也可一在服务端运行 (

asp如何动态include文件

必须存在该文件并且会预先编译(不管前面是否加以条件) 经常有这样的要求,根据不同的需求要求include不同的文件 如各个人的不同设置,所以要求能动态include文件. 代码如下:   <%   Function include(filename)       Dim re,content,fso,f,aspStart,aspEnd       set fso=CreateObject("Scripting.FileSystemObject")       set f=fso.

ASP.NET MVC 在控制器中获取某个视图动态的HTML代码

如果我们需要动态的用AJAX从服务器端获取HTML代码,拼接字符串是一种不好的方式,所以我们将HTML代码写在cshtml文件中,然后通过代码传入model,动态获取cshtml中的HTML代码 当然,我们想要使用通用的方法去获取cshtml,就必须重写RazorViewEngine视图引擎,配置视图搜索位置 在查找一个视图时,Razor视图引擎遵循了MVC框架早期版本建立起来的约定.例如,如果你请求与Home控制器相关的Index视图,Razor会审查这样的视图列表:  ~/Views/Hom