第四章,ASP的VB脚本

第4章VBScript的对象与动态网页编程 4 1VBScript的对象编程4 2在VBScript中使用对象4 3表单控件4 4技能与实训4 5思考与练习 4 1VBScript的对象编程 4 1 1对象的属性和方法类和对象 类 是一类事物总体的描述 而对象可以看成是现实中的某个实体 所以 一个对象都能够对应到一个类 而一个类可以被创建为多个对象 一个对象最重要的应该是两个元素 属性和方法 属性是一个对象的某些特征 类是实体共性的抽象 而属性则可以理解成这些某个实体的特性 4 1VBScript的对象编程 4 1 2事件驱动程序设计事件驱动所谓的 事件驱动 指的就是通过事件的发生来推动程序的执行 这个事件 可以是由用户产生的 比如单击鼠标 键盘输入等 也可以是由系统产生的 比如时间到了某个时刻 系统产生了某些错误等 4 1VBScript的对象编程 1 与网页有关的事件 onload 当一个网页被加载的时候触发onunload 当一个网页被卸载的时候触发例如 subwindow onload msgbox 网页加载完成时显示 endsub 4 1VBScript的对象编程 这个过程不需要调用就能够执行 因为当网页加载完成后网页对象 Window 会触发一个onload事件 则事件过程中的语句会自动执行 2 与鼠标有关的事件 onclick 鼠标单击时触发ondblclick 鼠标双击时触发mousedown 鼠标按下时触发mouseup 鼠标弹起时触发mousemove 鼠标移动时触发 4 1VBScript的对象编程 上面鼠标事件的过程描述如下 sub对象 事件 鼠标键 功能键 X Y endsub其中 鼠标键参数用于区分鼠标的哪个键被按下 取值如下表4 1所示 4 1VBScript的对象编程 4 1VBScript的对象编程 功能键参数用于区分shift ctrl alt三个功能键被按下的情况 取值如下表4 2所示 X Y属性 表示鼠标当前的位置 表4 2功能键取值参数 4 1VBScript的对象编程 表4 2 4 1VBScript的对象编程 3 与键盘有关的事件 keypress 按一个键盘键时触发keydown 按下一个键盘键时触发keyup 弹起一个键盘键时触发这些时间也是有参数的 sub对象 事件 keycode 功能键 endsub其中的keycode表示被按键盘键所代表字符的ASCII的值 注 因为这个参数只是为了区分键 所以不管是大小写取大写字母的ASCII值 功能键参数的取值 参考表4 2 4 2在VBScript中使用对象 IE的脚本对象模型是一种层次结构 结构如图4 1所示 从这个模型中 我们可以看出 最上面的是 window 对象 也称为窗体对象 它包含其它的六个对象 分别为框架对象 Frame 历史对象 History 浏览对象 Navigator 位置对象 Location 脚本对象 Script 文档对象 Document 其中文档对象又包含三个子对象 链接对象 Link 锚点对象 Anchor 和表单对象 最低一层的是元素对象 Element 它被包含在表单对象中 在这个脚本对象模型中 Window对象是整个脚本对象的根 其它的对象都从属于这个根对象 是Window对象的属性 同时也是一个对象 4 2在VBScript中使用对象 4 2 1Window对象Window对象位于脚本对象模型的最顶层 它能够带表IE的窗口 当一个网页被打开 就会产生一个Window对象 可以使用Window对象获取关于窗口状态的信息 还可以使用此对象获得对窗口文档 窗口中发生的事件和影响窗口的浏览器的访问 当我们要访问当前窗口的Window对象时 可以直接使用Window关键字 因为此关键字总是代表当前的窗口 接下来 我们按照面向对象的程序设计思想 分别来讨论Window对象的属性 方法和事件 4 2在VBScript中使用对象 4 2在VBScript中使用对象 4 2在VBScript中使用对象 7 dialogWidth 设置或获取模式对话框的宽度 8 frameElement 获取在父文档中生成Window的frame或iframe对象 9 length 设置或获取集合中对象的数目 10 name 设置或获取表明窗口名称的值 11 offscreenBuffering 设置或获取对象在对用户可见之前是否要先在屏幕外绘制 12 opener 设置或获取创建当前窗口的窗口的引用 4 2在VBScript中使用对象 13 parent 获取对象层次中的父窗口 14 returnValue 设置或获取从模式对话框返回的值 15 screenLeft 获取浏览器客户区左上角相对于屏幕左上角的x坐标 16 screenTop 获取浏览器客户区左上角相对于屏幕左上角的y坐标 17 self 获取对当前窗口或框架的引用 18 status 设置或获取位于窗口底部状态栏的信息 19 top 获取最顶层的祖先窗口 4 2在VBScript中使用对象 4 2 1 2Window对象的方法Window对象的方法如下 1 Alert 显示包含由应用程序自定义消息的对话框 2 attachEvent 将指定函数绑定到事件 以便每当该事件在对象上触发时都调用该函数 3 Blur 使元素失去焦点并触发onblur事件 4 clearInterval 使用setInterval方法取消先前开始的间隔事件 5 clearTimeout 取消先前用setTimeout方法设置的超时事件 4 2在VBScript中使用对象 6 Close 关闭当前浏览器窗口或HTML应用程序 HTA 7 Confirm 显示一个确认对话框 其中包含一个可选的消息和确定取消按钮 8 createPopup 创建弹出窗口 9 detachEvent 从事件中取消指定函数的绑定 这样当事件触发时函数就不会收到通知了 10 cScript 以给定语言执行指定的脚本 11 Focus 使得元素得到焦点并执行由onfocus事件指定的代码 12 moveBy 将窗口的位置移动指定x和y偏移值 4 2在VBScript中使用对象 13 moveTo 将窗口左上角的屏幕位置移动到指定的x和y位置 14 Navigate 在当前窗口中装入指定URL 15 Open 打开新窗口并装入给定URL的文档 16 Print 打印与窗口关联的文档 17 Prompt 显示一个提示对话框 其中带有一条消息和一个输入框 18 resizeBy 更改窗口的当前位置缩放指定的x和y偏移量 19 resizeTo 将窗口的大小更改为指定的宽度和高度值 4 2在VBScript中使用对象 20 Scroll 将窗口滚动到自左上角起指定的x和y偏移量 21 scrollBy 将窗口滚动x和y偏移量 22 scrollTo 将窗口滚动到指定的x和y偏移量 23 setActive 设置对象为当前对象而不将对象置为焦点 24 setInterval 每经过指定毫秒值后计算一个表达式 25 setTimeout 经过指定毫秒值后计算一个表达式 4 2在VBScript中使用对象 4 2 1 3Window对象的事件Window对象的事件如下 1 Onactivate 当对象设置为活动元素时触发 2 Onafterprint 对象所关联的文档打印或打印预览后立即在对象上触发 3 Onbeforedeactivate 在activeElement从当前对象变为父文档其它对象之前立即触发 4 Onbeforeprint 对象的关联文档打印或打印预览前在对象上触发 5 Onbeforeunload 在页面将要被卸载前触发 4 2在VBScript中使用对象 6 Onblur 在对象失去输入焦点时触发 7 Oncontrolselect 当用户将要对该对象制作一个控件选中区时触发 8 Ondeactivate 当activeElement从当前对象变为父文档其它对象时触发 9 Onerror 当对象装载过程中发生错误时触发 10 Onfocus 当对象获得焦点时触发 11 Onhelp 当用户在浏览器为当前窗口时按F1键时触发 12 Onload 在浏览器完成对象的装载后立即触发 4 2在VBScript中使用对象 13 Onmove 当对象移动时触发 14 Onmoveen 当对象停止移动时触发 15 Onmovestart 当对象开始移动时触发 16 Onresize 当对象的大小将要改变时触发 17 Onresizeend 当用户更改完控件选中区中对象的尺寸时触发 18 Onresizestart 当用户开始更改控件选中区中对象的尺寸时触发 4 2在VBScript中使用对象 例4 1 Window对象综合示例 第一步 创建页面文件4 2 2 htm 通过超链接为目的页面命名 name 属性赋值 给子窗口命名 4 2在VBScript中使用对象 第二步 创建页面文件4 2 3 htm 把窗口名称放到窗口的状态栏上 dimmy namy na window namewindow status my nawindow alert 本窗口的名字为 my na点击 4 2在VBScript中使用对象 第三步 创建页面文件4 2 4 htm dimfa nafa na window parent name 获得父窗口的名称window status fa na 把父窗口的名称放到本窗口的状态栏上window alert 本窗口的父窗口名字为 fa na 用alert方法输出父窗口名称 4 2在VBScript中使用对象 subwindow Onresize 当改变窗口大小的时候 显示信息 并关闭窗口window alert 窗口大小改变了 window closeendsub 4 2在VBScript中使用对象 4 2在VBScript中使用对象 图4 3父窗给子窗体命名 4 2 htm效果图 图4 44 3 htm获得父窗体名称并显示 4 2在VBScript中使用对象 4 2 2document对象4 2 2 1document对象的属性document对象的属性如下 1 activeElement 获取当父document拥有焦点时获得焦点的对象 2 alinkColor 设置或获取元素中所有激活链接的颜色 3 bgColor 不赞成 设置或获取表明对象后面的背景颜色的值 4 Charset 设置或获取用于解码对象的字符集 5 Cookie 设置或获取cookie的字符串值 4 2在VBScript中使用对象 6 defaultCharset 从当前的区域语言中获取默认字符集 7 designMode 设置或获取表明文档是否可被编辑的值 8 Dir 设置或获取表明对象的阅读顺序的值 9 Doctype 获取与当前文档关联的文档类型声明 10 documentElement 获取对文档根结点的引用 11 Domain 设置或获取文档的安全域名 12 Expando 设置或获取表明是否可对象内创建任意变量的值 4 2在VBScript中使用对象 13 fgColor 设置或获取文档的前景 文本 颜色 14 fileCreatedDate 获取文件创建的日期 15 fileModifiedDate 获取文件上次修改的日期 16 fileSize 获取文件大小 17 Implementation 获取当前文档的implementation对象 18 lastModified 获取页面上次修改的日期 若页面提供的话 19 linkColor 设置或获取对象文档链接的颜色 4 2在VBScript中使用对象 20 parentWindow 获取容器对象所在窗口的引用 21 Protocol 设置或获取URL的协议部分 22 readyState 获取表明对象当前状态的值 23 Refer