注册 登录
编程论坛 JavaScript论坛

新人问个基础常识问题,都说javascript是客户端运行的脚本语言,那为什么javascript又有runat=server这一语句呢?

CainLai 发布于 2010-05-19 11:31, 1305 次点击
新人问个基础常识问题,都说javascript是客户端运行的脚本语言,那为什么javascript又有runat=server这一语句呢?

如果说runat=server的意思是让javascript在服务器端运行和解析,但是我实验了下好像跟在本地运行又不完全一样?是有区别的,具体的区别在哪?该怎么理解这个问题呢?
比如我试过用用FSO建立文件,这个语句不管前面用没用runat=server 都只能在客户端建立文件,而不能在服务器建立文件,我知道我一定有个基础概念没搞清楚,希望有人能帮我讲讲
1 回复
#2
gupiao1752010-05-19 13:38
  
  学ASP也快5年了,我个人的理解大概是这样:当然也不是绝对的,runat="server"只是用来起区别服务端和客户端html标签的作用!如果加了这句,其作用等同于该控件由服务器端来解析,但是真正返回客户端的时候,一样会变成跟普通标签一样,这在ASP。NET里更明显,普通html标签无需这么做,但是有些特殊控件就需要这么设置,比如。NET的服务端验证控件,就一定要这么设置!否则不起作用!
   同理你也可以:runat="client",不过因为html控件默认就是客户端,因此几乎没有人必要这么加!
   客户端按理是可以操作服务端的(黑客的技术行为就是范例),但是在普通网页语言里不管是ASP还是其他PHP/。NET,都会做限制,其内部机制就已经限制了这种操作,是无法去操作服务端的一些核心东西(比如FSO操作,ADO等,这些操作只允许在服务端进行),客户端当然也可以类似操作,但是只对其自身机器有效!
  这是我的个人浅见,如有错误,欢迎指正!

1