document.write何时执行?

afdas13 2012-09-25 01:40:26
大家好,我是javascript菜鸟,请教一个问题?下面有一个javascript函数:
function showLoginPage() {
if (confirm("确定要退出系统吗?")) {

document.write("<%ExitSystem();%>");

window.location.href = '/Login.aspx';
}
}
为什么我的页面一打开的时候,document.write("<%ExitSystem();%>");就执行了呢?我并没有点击触发该方法的 javascript事件啊?
...全文
239 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
afdas13 2012-09-25
  • 打赏
  • 举报
回复
谢谢,问题我已经解决了,我该用其他方法了。
未知数 2012-09-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
我明白你的意思,就是说。在asp.net第一次请求的时候,<%%>中的内容就在服务器端执行了,然后发送给客户端中的脚步中。以后他不会在执行了。
[/Quote]
是的,浏览器只获得了一个字符串,所以使用时只是使用该字符串,并不是调用服务器函数,所以其实你的那句js代码无论执不执行,只要检测到有<%%>写法的代码,都会被服务器执行了
lilo4033 2012-09-25
  • 打赏
  • 举报
回复
没理由啊,没调用是不会执行的,你是不是按了 后退 然后看到的?
afdas13 2012-09-25
  • 打赏
  • 举报
回复
那我还不如直接由一个<body onload>来的快。
afdas13 2012-09-25
  • 打赏
  • 举报
回复
我明白你的意思,就是说。在asp.net第一次请求的时候,<%%>中的内容就在服务器端执行了,然后发送给客户端中的脚步中。以后他不会在执行了。
未知数 2012-09-25
  • 打赏
  • 举报
回复
<%%>
这里面是服务器代码,不是js代码,是服务器执行的,不是浏览器在执行,
也不是加载页面的时候,而是加载之前服务器就把它执行了,用其返回值替换掉<%%>发送到客户端,
所以js调用时使用的是该函数的结果而不是执行该函数

js是浏览器代码,要调用服务器函数必须通讯,这能明白么?所以你的方式不是js调用服务器函数,而是让服务器在把html发给客户端前就把该代码执行了
基础需加强
afdas13 2012-09-25
  • 打赏
  • 举报
回复
但是我并没有点击“退出系统”而起当我点击"退出系统"之后, document.write("<%ExitSystem();%>");这句就没再一次执行了。
afdas13 2012-09-25
  • 打赏
  • 举报
回复
<TD style="BORDER-LEFT: #ffffff 1px solid; CURSOR: pointer"
onclick="javascript:showLoginPage();" > <IMG
style="MARGIN-BOTTOM: -3px"
src="/images/logout.gif"> <FONT
color=#ffffff>退出系统</FONT></TD>
Alex20150716 2012-09-25
  • 打赏
  • 举报
回复
看看你的页面哪里调用了showLoginPage() 这个函数。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧