为什么一些vbscript的对象和方法不能在asp中的<%%>中使用
比如1.asp文件中<script>document.write("hello")</script>正确但改为<%document.write("hello")%>出错,...
比如1.asp文件中<script>document.write("hello")</script>正确但改为<%document.write("hello")%>出错,还有alert,msgbox也是如此,有没有什么具体的相关语法规定?
展开
2个回答
展开全部
<% %>中的代码是运行在服务器上的,所以你可以想象一下,如果MsgBox可以在<% %>中使用,那么所弹出的窗口也是在服务器的屏幕上的,跟客户端的浏览器是没有一毛钱关系的。你还可以进一步想像一下:假如多人同一时间浏览同一页面,那么服务器的屏幕上将被MsgBox弹出的窗口塞满!document.write也一样,它是在本地浏览器中显示信息的,所以也不能用在<% %>中。ASP中是用<%response.write "hello"%>来显示信息的,这是告诉服务器把“hello”发送给客户端的浏览器,浏览器接收到信息后再显示到屏幕中。
<script>document.write("hello")</script>这个则是直接运行在客户端的,所以它是没问题的。
因此你可以在ASP中这样处理:
<%response.write "<script>document.write('hello')</script>"%>
这是让服务器把<script>document.write('hello')</script>发送给客户端浏览器,由浏览器再去进一步解析执行这段脚本代码。
再多说两个例子:
<%response.write "<script>alert('hello');</script>"%>
<%response.write "<script language=vbscript>msgbox 'hello'</script>"%>
以上两个都可以在浏览器弹出对话框,第一个是javascipt的,第二个是VBScript的。
总结一下就是:凡是在本地进行输出的VBScript代码,就是不能用在ASP的<% %>中的,而ASP本身也有很多特性是不能用在客户端VBScript中的,主要是涉及服务器的一些对象和属性,如server、session、request、response等等
<script>document.write("hello")</script>这个则是直接运行在客户端的,所以它是没问题的。
因此你可以在ASP中这样处理:
<%response.write "<script>document.write('hello')</script>"%>
这是让服务器把<script>document.write('hello')</script>发送给客户端浏览器,由浏览器再去进一步解析执行这段脚本代码。
再多说两个例子:
<%response.write "<script>alert('hello');</script>"%>
<%response.write "<script language=vbscript>msgbox 'hello'</script>"%>
以上两个都可以在浏览器弹出对话框,第一个是javascipt的,第二个是VBScript的。
总结一下就是:凡是在本地进行输出的VBScript代码,就是不能用在ASP的<% %>中的,而ASP本身也有很多特性是不能用在客户端VBScript中的,主要是涉及服务器的一些对象和属性,如server、session、request、response等等
展开全部
asp其实是一个框架
使用2中语言来编写:vbscript和javascript
vbscript是不支持js语法的,
要支持js语法,那么在asp文件的最顶部,也就是第一行加上或者改成
@LANGUAGE="JAVASCRIPT"
记得左右要有asp代码块<%%>
这样表示当前的asp文件是使用javascript语言来编写的
不过asp,绝大部分都是使用vbscript来写的,很少很少有人使用javascript来写
使用2中语言来编写:vbscript和javascript
vbscript是不支持js语法的,
要支持js语法,那么在asp文件的最顶部,也就是第一行加上或者改成
@LANGUAGE="JAVASCRIPT"
记得左右要有asp代码块<%%>
这样表示当前的asp文件是使用javascript语言来编写的
不过asp,绝大部分都是使用vbscript来写的,很少很少有人使用javascript来写
追问
document也是VBScript的对象
例如我写成以下正确,
document.write("hello")
但按照你的方法改为
仍然错误
追答
<script 和<%是有差别的
不能一概而论
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询