1、使用defer
<script defer>alert('...')</script>
Javascript中defer的作用是文档加载完毕了再执行脚本,这样会避免找不到对象的问题。不要在defer型脚本程序段中包括任何立即执行脚本要使用的全局变量或者函数。(立即脚本没有被包含在一个function块中,因此会在加载过程中执行。) 设置"defer"属性后,IE就不必等待该脚本装载和执行完毕。但当有一些脚本需要在页面加载过程中或加载完成后执行,使用defer属性得到的好处就不太大。
2、如果使用后台代码.net写入脚本,可以将脚本注册到页面最后,使用
this.RegisterStartupScript("js","<script>alert('...')</script>");
RegisterClientScriptBlock一般返回的是客户端函数的包装,而RegisterStartupScript返回得函数在
document装载完成后会执行,类似于我们平时所说的body οnlοad="f()"里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock在<form runat=server>之后,而RegisterStartupScript在</form>之前。
由上可以看出,两者的相同之处便是将脚本在文档加载完成后在执行。