« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
One blog (or more) a day, keep bad mood away, and make life wonderful!
-- by 小生
Blog正在逐步成长中,小生与您共享思维火花,畅想IT时代!
|
Blog信息 |
blog名称:小生杂谈 日志总数:166 评论数量:377 留言数量:1 访问次数:1010789 建立时间:2004年11月7日 |

| |
[.Net技术]善用脚本交互——网页中的服务器端和客户端脚本(三) 原创空间, 软件技术
Wonderow 发表于 2005/1/26 0:01:14 |
懂客户端脚本的未必是好的Web程序员,但只懂服务器端脚本或编程的肯定不会是好的Web程序员。至少在现今阶段,要写出高效Web网页或Web应用程序,不对这两个脚本充分理解熟谙于心是不行的。聪明的程序员能灵活使用脚本,对各种Web程序的业务流程得心应手。 比较常用的技巧是用服务器端脚本来写客户端脚本,这里用一个较流行的局部刷新的例子来展示该技巧。前提是对客户端脚本有较好的了解。 “<script>”标签有个属性src,其值可以设置为一个js文件,文件中即是客户端脚本。因为没规定该js文件是静态文件,而且可以用脚本来更改src指向的文件,所以可以巧妙地使用这个特性来实现动态局部刷新(当然,frame、iframe等也有src属性,均可考虑,这里用script方便一点)。这里有两个网页,一个test1.htm是主页面,而另一个test.asp其实是js文件,只不过它的内容是动态的。test1.htm
500)this.width=500'><input name="txt" type="text" size="10" maxlength="10" />500)this.width=500'><script id="s" src="test.asp"></script>500)this.width=500'></script>500)this.width=500'>function func(){500)this.width=500'> s.src="test.asp";500)this.width=500'> txt.value=sTxt;500)this.width=500'>}500)this.width=500'>setInterval("func()",1000);500)this.width=500'></script>500)this.width=500'>
test.asp
500)this.width=500'>//JScript500)this.width=500'><%500)this.width=500'>response.cachecontrol="no-cache" ' 不使用缓存,确保页面更新500)this.width=500'>sTxt=… ' 动态地获得一个值500)this.width=500'>%>500)this.width=500'>sTxt="<%=sTxt%>"; //注意这里两个sTxt,前一个是客户端,后一个是服务器端变量500)this.width=500'>
这样在主页面test1.htm中每隔1秒就会看到文本框“刷新”一次,实现了局部刷新。把该技术加以扩展推广可以满足更复杂的需求。注意理解test.asp中的两个sTxt变量及两种注释方法,记住ASP是写在<%%>中的,是用VBScript写的,所以注释用单引号“'”;客户端脚本用JScript写的,所以注释用两个斜杠“//”。 这是服务器端脚本把变量传给客户端脚本的例子,如果还不明白就动手做做实验,在浏览器中输入test.asp地址看它到底输出了什么。至于客户端脚本把变量传给服务器端的例子就司空见惯,平常用得再多也不过了,如表单数据提交之前的简单处理再交给服务器就是一例,这里就不具体阐述了。所以也许在不知不觉中我们就在做着二个脚本之间的交互工作。 最近又看到有人用JS在客户端创建XMLHTTP组件来读网页来实现局部刷新,当然这种技术是无法跨平台的;还有Web Service、Remoting等技术来实现局部刷新,都是不错的主意,自从MS的JScript可以创建ActiveX对象,逐渐支持面向对象特性后,客户端脚本威力愈发强大。对我们来说,一旦分清楚服务器端和客户端脚本的辖区及作用,下功夫看些网页客户端脚本语言知识,善用脚本交互,就不难理清Web程序的思路,打开层层迷障,完成各种任务!相关链接: ASP.Net的反思——网页中的服务器端和客户端脚本(一) 分清脚本——网页中的服务器端和客户端脚本(二) 善用脚本交互——网页中的服务器端和客户端脚本(三) |
|
|