alert常被用来弹出简单提示、警告语等,但是如果经常会看到在弹出对话框时后边的屏幕是白屏,这个时候就需要一些小技巧。其实都是些老东西,翻来覆去的倒腾。记得很早就跟小崔个鸟人说起过这个注册脚本的位置。废话不多说,总结如下:

   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 onload="f()"里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock在<form runat=server>之后,而RegisterStartupScript在</form>之前。

   由上可以看出,两者的相同之处便是将脚本在文档加载完成后在执行。

posted on 2011-03-30 09:46  [天赐淡雅香]  阅读(1531)  评论(1编辑  收藏  举报