善待自己,珍惜今天,恩泽他人,享受生活

不放弃任何解决困难的机会,人的一生就是解决困难的过程。 当我们走完一生才能说没有问题要解决了。 面对工作、生活上的压力,面对来自家庭、朋友、同事、上司等的困惑。 要排除万难,否则我们就会被万难排除!

博客园 首页 新随笔 联系 订阅 管理

其实就是简单的利用defer属性,让浏览器读JS脚本的时候完全不等脚本开始读就开始读下面的图片啊,html代码了。然后让js脚本自己在那里慢慢读取完以后再执行。

给外链的js脚本添加defer="true",像下面这个这样就可以了:

<script defer="true" src="JavaScript.js" type="text/javascript"/>

特别是比较大的脚本,提高整个网页的载入速度是非常明显的。

注意defer="true"还可以用作defer="defer",似乎使用defer="defer"比较普遍,我查看一个微软的文档,好像XTHML格式的网页用defer="true"比较恰当。

另外注意,defer="true"这个东西不要在脚本程序段中调用document.write命令,因为将产生直接输出效果

如果不显式声明 defer ,则其默认值 是false

defer 和onload的执行顺序的问题

Js代码

<script language="JavaScript" type="text/javascript" defer="defer">

       alert('defer里的内111容')

</script>

<script language = 'javascript' type='text/javascript'> alert('普通的script'); window.onload = function(){alert('onload里的script')}; </script>

<body> ###################################################

########################################################

########################################################

################################ <br>

<script language = 'javascript' type='text/javascript'> alert('页面的script'); </script>

◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎

◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎

◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎

◎◎◎◎◎◎◎◎◎◎◎◎◎ ◎◎◎◎◎◎◎◎◎◎◎◎◎ </body>

普通的,边解释,边执行。
DEFER,网页脚本代码加载完后执行。
ONLOAD,所有内容(包括图片等)加载完后执行。

 

IE8 提示 KB927917, IE6 IE7 提示操作已中止的解决办法

见的解决方法:
1。将JS放到后面去 --- 最直接的方法
2。在JS前加入setTimeout("xxxx()",500); --- 即这段时间留给页面先加载去
3。If(document.all && document.body.readyState=="complete") --- 即等待页面加载完成再加载JS(貌似JQURY中的$(function() {});直接默认了这个方法)
4。在JS后加入defer="defer"---简单直接,正在使用

posted on 2012-08-16 14:09  笨笨丁  阅读(1147)  评论(0编辑  收藏  举报