|
==============“Cookie”技术=============
术语“Cookie”表示的是赋给客户应用程序的字符串。“Cookie”一词来源于“magic cookie”UNIX编程概念,有时又被叫做“记号”(token)。一般来说,使用“记号”这个术语对国人来说,要比“Cookie”一词更容易理解一些。 Cookie是一个字符串,一般包含许多组变量名及变量的值,各组名和值之间用分号分隔,并且分号后还跟一个空格,变量名与变量值之间用等号分隔,一个典型的Cookie字串如下: value1=100; value2=good; sale50 用Document对象的Cookie属性返回当前的Cookie字符串。 用document.Cookie="value1=100"的方式为Cookie赋值,如果Cookie中有这个变量,将用新值替换,如果Cookie中没有这个变量,就会为它创建一个变量。
以上的Cookie技术将变量及变量值存储在内存中,而不是硬盘中。所有的页面共用一个Cookie空间,如果页面A与页面B分别在Cookie中写入了数据,则无论在哪个页面中用document.cookie都可以显示出各页面所有的Cookie数据。只要有一个IE窗口打开就不会丢失Cookie,一旦所有的IE窗口都关闭,则所有的Cookie都被清除。
下面是我自己编写的读取Cookie变量的函数。
<script language="VBScript"> function ReadCookie(pCook) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '本函数用来读取Cookie中的数据。 '流程:先删去Cookie中pCook变量前面的字串,再删去pCook变量后面的字串,就是pCook的值。 '输入:要读取的变量名。 '输出:该变量名的值。如果没有该变量的值,为其赋初值。 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' dim whereis_pCook '要查找的pCook标记名在Cookie中的起始位置 dim howlong_pCook '要查找的pCook标记名的长度 dim howlong_cookie '整个Cookie的长度 dim whereis_FenHao '查找endstring中的分号(;)的起始位置 dim endstring '存放临时字串,该字串经处理最后得到pCook的值
whereis_pCook = Instr(Document.Cookie,pCook) if whereis_pCook = 0 then '如果当前Cookie中没有该pCook值,就为其赋初值 select case pCook case "value1" document.Cookie="value1=100" endstring="100" case "value2" document.Cookie="value2=good" endstring="good" case "value3" document.Cookie="value3=sale50" endstring="sale50" end select else howlong_pCook = len(pCook) howlong_cookie=len(document.cookie) '从Cookie中pCook的值开始到Cookie最后的字串。 '要注意,Cookie在各值之间用分号分隔,并且分号后还跟一个空格,所以下面的语句中有“+1” '另外,各变量名与变量之间用等号隔,所以下面的语句中有“-1” '当然,以上两个量相互抵消,但为了更好地理解本语句,故仍保留 endstring = right(document.cookie,howlong_cookie - whereis_pCook + 1 - howlong_pCook - 1) whereis_FenHao=instr(endstring,";") '如果没有找到分号,说明此变量是最后一个,所以endstring就是最终的结果; '如果找到分号,就取分号前面的字串,得到最终结果。 if whereis_FenHao <> 0 then endstring=left(endstring,whereis_FenHao - 1) end if end if ReadCookie=endstring end function </script>
==========日历控件============ 操作系统:Windows2000 Professional 在FrontPage2000下名为“Calendar控件9.0”,classid="clsid:8E27C92B-1264-101C-8A2F-040224009C02" 可以用Calendar.year,Calendar.month,Calendar.day调用该控件的年月日值,当日历中改变年月日时分别触发Calendar_NewYear(),Calendar_NewMonth(),Calendar_NewDay()事件。 要注意,在下拉列表中选择了年或月后,Calendar.year,Calendar.month,Calendar.day三个值均会被清零。
=========关于VB的颜色常数============ 在VBScript中使用VBS的颜色常数会出现意想不到的颜色,比如document.bgcolor=vbYellow 不会将页面背景显示成黄色,而是淡蓝色。 原因在于VBS的颜色常数表示方法与HTML中颜色的表示方法不同,VBS的颜色常数vbYellow的机内值是"hffff",VBS的本意是要它表示值为"ffff00"的颜色,但因为常数的机内值没有写成6位十六进制数,所以HTML会将其解释为"00ffff",导致出错。 关于VBS的颜色常数在页面中实际显示的颜色可以在FrontPage中实验。在页面属性中选背景颜色/其它颜色,在值中直接填入VBS的颜色常数的机内值,确定后系统会把它进行转换,得到在页面中实际显示的颜色。 有些VBS的颜色常数的机内值6位数是对称的,所以会正确显示,如vbGreen(hFF00)和vbMagenta(hFF00FF)。
=================== elements 对象 =================== private sub window_OnLoad() for i = 0 to 6 frmRes.elements(i).value="" next end sub 这段窗口初始化程序将页面中frmRes表单的最前面7个元素(第0-第6个元素)的值清空,注意,不能将循环条件写成 for i=1 to 7 因为这样系统将认为是第1-第7个元素,系统对元素的标识是从0开始的。
====================== Set语句 ======================= dim TheForm set TheForm = document.frmRes 上面语句设置用TheForm变量引用frmRes表单,可以减少书写,并使对页面的变动有更强的适应性。在程序中可以这样引用frmRes的元素: TheForm.txtName.focus
注意:Set语句将对象引用赋给变量或属性,设置TheForm变量的语句前面必须要用set引导,否则将出错。 当使用 Set 将一个对象引用赋给变量时,并不是为变量创建对象的副本,而是创建对象的引用。可有多个对象变量引用同一个对象。因为这些变量是对象引用(不是副本),所以对对象所作的任何改动都会影响所有引用该对象的变量。
===========Location对象=========== 每个窗口都有一个Location对象,定义了其包含的主页的网页地址信息。Location对象的主要属性有: href 网页的URL protocal 网络协议 host,hostname 主机名 pathname 路径 port 端口号 还可以使用 location.href=newURL 语句重定向页面地址。
==========window对象================ window对象的属性和方法无需指明窗口的名称,因此window对象的方法名称可以看作系统的语句。如窗口的名称可以用window.name,也可以直接用name。
status属性是状态栏提示信息,可用下面的语句改变状态栏的信息: status="I am busy! Please wait for a miniter!"
window对象的navigate方法可以重定向页面地址。如 navigate "http://www.sina.com.cn"
============== alert和 confirm 语句 =================
 alert "比尔正在认真地进行一项生物试验" window对象的alert方法用来显示提示文本,如上图。
 window对象的confirm方法弹出一个含有“确定”和“取消”按钮的对话框,可以用分支程序处理用户的选择。如上图。
flag=prompt ("比尔正在进行生物试验吗?") if flag then msgbox "正在进行中……" else msgbox "玩去了……" end if
========== window对象的prompt方法与InputBox函数的比较==========
 window对象的prompt方法的格式为: username=prompt ("请输入你的名字:","Jack") 第一个参数为提示信息,第二个参数为默认值。如上图。
 InputBox函数可以显示更个性化的输入对话框,格式为: userna
|