日期:2014-05-16  浏览次数:20511 次

document.write何时执行?
大家好,我是javascript菜鸟,请教一个问题?下面有一个javascript函数:
  function showLoginPage() {
  if (confirm("确定要退出系统吗?")) {
   
  document.write("<%ExitSystem();%>");
   
  window.location.href = '/Login.aspx';
  }
  }
  为什么我的页面一打开的时候,document.write("<%ExitSystem();%>");就执行了呢?我并没有点击触发该方法的 javascript事件啊?


------解决方案--------------------
<%%>
这里面是服务器代码,不是js代码,是服务器执行的,不是浏览器在执行,
也不是加载页面的时候,而是加载之前服务器就把它执行了,用其返回值替换掉<%%>发送到客户端,
所以js调用时使用的是该函数的结果而不是执行该函数

js是浏览器代码,要调用服务器函数必须通讯,这能明白么?所以你的方式不是js调用服务器函数,而是让服务器在把html发给客户端前就把该代码执行了
基础需加强