您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第4章 VBScript与动态网页编程
第4章VBScript与动态网页编程教学提示通过在HTML网页中加入VBScript脚本,可以使静态的HTML网页成为动态网页。上一章介绍了VBScript基本内容,学习了利用结构化和模块化的编程思想来进行程序设计,这适合于处理较小规模的程序。但是,当程序规模逐渐扩大时,就应考虑面向对象的编程方法。教学提示VBScript作为VB的一个子集,也具有支持事件驱动、面向对象编程语言的特性,在VBScript脚本中,并非仅可以使用变量和过程,也可以通过响应事件和使用对象来实现较为复杂的功能。本章将具体讲述VBScript的面向对象编程方法和一些网页的特定对象,并在讲述过程中贯穿面向对象编程的思想。教学目标与要求通过本章的学习,学生将学会使用VBScript来操作网页元素的方法。●掌握VBScript对象的属性、事件和方法●掌握Window对象、Document对象、Frame对象、Location对象、History对象、Navigator对象和Script对象●掌握表单控件的结构及表单对象的用法教学内容●4.1VBScript的对象编程●4.2DHTML对象模型●4.3DHTML内部控件●4.4综合练习●4.5实验与习题64.1VBScript的对象编程VBScript编程既可采用结构化程序设计,也可采用面向对象、事件驱动编程机制。4.1.1面向对象编程的基本概念4.1.2事件驱动程序设计74.1.1面向对象编程的基本概念1.类(Class)2.对象(Object)类是对象的上层概念,是对现实中具有相同特性的一类实体的描述(实体的一个描述“模板”)。对象是某个类被具体化后,具有属性(数据)和方法(行为)的实体。一个类可被创建为多个对象对象就是类的一个“实例”83.对象的属性(Attribute)属性就是描述对象的一组特征。属性的使用格式:对象名.属性名=属性值VBScript所支持的对象有:●脚本对象:Window对象、Document对象等●DHTML内部控件:Button控件、Text控件等94.对象的方法(Method)方法是指对象能够执行的操作或完成的功能。方法的调用格式:对象名.方法名参数1,参数2,…,参数n●方法的实现步骤和细节对用户屏蔽,用户只需按照约定直接调用它们。●方法只能在代码中使用,其用法依赖于方法所需参数的个数及是否有返回值。105.两种编程思想的简单比较●结构化程序设计(SP)●面向对象程序设计(OOP)面向过程,围绕功能进行。首先确定程序的各个功能,然后使用函数或过程来实现。缺点:把数据和操作强行分开了,不利于描述现实模型。将问题抽象为对象,对事物的处理过程就是对对象的处理过程。首先使用相关的类创建对象,然后对对象进行操作。但VBScript不具备OOP的全部特征114.1.2事件驱动程序设计1.对象的事件(Event)事件就是预先定义好的、能被对象识别的动作。当事件发生时,VBScript将检测两条信息:●发生了什么事件?●哪个对象将接收事件?VBScript仅识别事件的发生,为使对象能够对某一事件做出响应,必须为事件编写事件过程。12表4-1常用的VBScript事件事件类型事件名称说明鼠标事件Click鼠标单击对象(或按下Enter键或空格键)时触发Dblclick鼠标双击对象时触发Mousedown鼠标按下对象时触发Mouseup鼠标弹起对象时触发Mousemove鼠标移到对象上方时触发Mouseover鼠标扫过一个链接对象上方时触发Mouseout鼠标移出对象上方时触发13表4-1常用的VBScript事件(续)事件类型事件名称说明键盘事件Keypress按一个键时触发Keydown按下一个键时触发Keyup弹起一个键时触发网页事件Load当网页被加载时触发Unload当网页被卸载时触发Resize当用户调整浏览器窗口时触发焦点事件Focus当对象获得焦点时触发Blur当对象失去焦点时触发142.事件驱动模型机制事件驱动是指通过事件的发生来推动程序的执行,这个事件是由用户或者系统产生的。●用户在浏览器中进行鼠标或键盘操作。●OS检测到该操作,并向浏览器发送消息。●浏览器接收消息,并寻找对应的事件过程。如果该过程存在,就执行该段代码;否则,就交由浏览器处理。153.编程方法比较●过程化的程序设计●事件驱动的程序设计由应用程序自身按照预定的路径执行程序代码,必要时调用过程。程序员首先对程序执行过程中的“各种状态”做出事件假设,然后编辑事件过程的代码。只有当事件发生时,事件过程代码块才得以执行。164.事件过程的调用方式事件过程的定义与调用方式有4种:●在Script标记中实现●在对象标记中定义事件过程●在对象标记中调用事件过程●单独定义事件过程事件过程的命名规则:on事件名如:Click事件过程名为Onclick17⑴在Script标记中实现语法格式为:ScriptFor=对象名Event=on事件名Language=vbscript'事件过程代码/ScripthtmlbodyInputtype=buttonname=mybtnvalue=确定ScriptFor=mybtnEvent=ondblclickLanguage=vbscript'事件过程代码/Script/body/html18⑵在对象标记中定义事件过程htmlheadtitle调用事件过程/title/headbodyh3调用事件过程/h3hrInputtype=buttononclick='aa=这是按钮的单击事件:msgboxaa'value=确定language=vbscript/body/html查看效果19⑶在对象标记中调用事件过程htmlheadtitle调用事件过程/titleScriptLanguage=vbscriptSubmysub()aa=这是按钮的单击事件:msgboxaaEndSub/Script/headbodyh3调用事件过程/h3hrInputtype=buttononclick=mysubvalue=确定/body/html查看效果20⑷单独定义事件过程htmlheadtitle调用事件过程/titleScriptLanguage=vbscriptSubmybtn_onclickaa=这是按钮的单击事件:msgboxaaEndSub/Script/headbodyh3调用事件过程/h3hrInputtype=buttonname=mybtnvalue=确定/body/html过程名必须是:对象名_on事件名通常在head中定义事件过程。查看效果教学内容●4.1VBScript的对象编程●4.2DHTML对象模型●4.3DHTML内部控件●4.4综合练习●4.5实验与习题224.2DHTML对象模型DHTML(动态HTML,DynamicHyperTextMarkupLanguage)是HTML的增强版,在HTML中加入了“对象化”的网页技术特征。VBScript能在IE的环境中运行,IE提供了一组可以被脚本语言调用的对象集合,这组对象集合称为脚本对象模型。23图4-1DHTML脚本对象模型的层次结构每个对象都有描述其自身状态的属性和描述其行为的方法,它们也可以处理特定类型的事件。该模型定义了用于描述网页及其内部元素的对象。程序员可通过Script程序来控制或调用这些对象。244.2.1Window对象4.2.2Document对象4.2.3Frame对象4.2.4History对象4.2.5Location对象4.2.6Navigator对象4.2.7Screen对象4.2.8Script对象大学教育应“授之以渔,而非授之以鱼”。●简要介绍各对象的属性、方法及事件●重点介绍各对象的使用方法254.2.1Window对象当一个网页被打开时,就会创建一个Window对象,它总是代表IE的当前窗口。●获取和设置当前窗口的状态信息●对窗口文档进行访问●对窗口中发生的事件进行访问●对影响窗口的浏览器进行访问●控制脚本中其他子对象261.Window对象的属性表4-2Window对象的属性属性名称说明closed获取引用窗口是否已关闭defaultStatus设置或获取要在窗口底部状态栏上显示的默认信息dialogArguments设置或获取传递给模式对话框窗口的变量或变量数组dialogHeight设置或获取模式对话框的高度dialogLeft设置或获取模式对话框的左坐标27表4-2Window对象的属性(续1)属性名称说明dialogTop设置或获取模式对话框的顶坐标dislogWidth设置或获取模式对话框的宽度Document返回对该子对象的引用,从而能够调用该子对象的属性、方法、事件等Event返回对该子对象的引用,从而能够调用该子对象的属性。只能在事件过程中使用frameElement获取在父文档中生成Window的frame或iframe对象28表4-2Window对象的属性(续2)属性名称说明History返回对该子对象的引用,从而能够调用该子对象的属性、方法、事件等length设置或获取集合中对象的数目Location返回对该子对象的引用,从而能够调用该子对象的属性、方法、事件等name设置或获取表明窗口名称的引用Navigator返回对该子对象的引用,从而能够调用该子对象的属性、方法、事件等29表4-2Window对象的属性(续3)属性名称说明offscreenBuffering设置或获取对象在对用户可见之前是否要先在屏幕外绘制opener设置或获取创建当前窗口的引用parent返回对父窗口的引用returnValue设置或获取从模式对话框返回的值screenLeft获取浏览器客户区左上角相对于屏幕左上角的x坐标screenTop获取浏览器客户区左上角相对于屏幕左上角的y坐标30表4-2Window对象的属性(续4)属性名称说明self返回对当前窗口或框架的显示引用,以避免表单与Window对象重名。为只读属性status设置或获取浏览器中底部状态栏的信息top获取最顶层的祖先窗口注:如果当前网页是从一个网页(A网页)上超链接得到的,那么A网页就称为引用窗口,也被称为本窗口的父窗口,可以通过Window.parent来引用A网页。不是通过超链接打开的窗口就是通过其上超链接打开的所有网页的祖先窗口。31htmlheadtitleWindow对象的属性应用示例/title/headbodyonMousemove=window.status='X='+window.event.x+'Y='+window.event.y【例4-2】Window对象的status属性和event子对象的应用。实验1:可否将此处的“+”号换为“&”号。32Inputtype=buttonname=buttonvalue=请将鼠标指向我后按下右键Scriptlanguage=vbscriptSubbutton_onMousedownIfwindow.event.button=2thenMsgbox鼠标指针的x坐标为&window.event.xEndSub/Script/body/html实验2:可否将第3个语句mousedown事件改为click等其他事件?332.Window对象的方法用于显示提示信息、输入信息、控制HTML页面外观、显示HTML页面及触发和响应事件等等。表4-3Window对象的方法方法名称说明Alert显示一个对话框,包括信息图标、提示信息和【确定】按钮AttachEvent将指定函数绑定到事件,以便每当该事件在对象上触发时都调用该函数Blur使元素失去焦点并触发onblur事件34表4-3Window对象的方法(续1)方法名称说明
本文标题:第4章 VBScript与动态网页编程
链接地址:https://www.777doc.com/doc-4007772 .html