JS脚本defer的作用

js|脚本

<script src="../cgi-bin/delscript.js" defer></script>
中的defer作用是文档加载完毕了再执行脚本,这样回避免找不到对象的问题---有点问题

 

<button id="myButton" >test</button>
<script>
myButton.click();
</script>
 

<script>
myButton.click();
</script>
<button id="myButton" >test</button>

<script defer>
function document.body.onload() {
 alert(document.body.offsetHeight);
}
</script>
 

加上 defer 等于在页面完全在入后再执行,相当于 window.onload ,但应用上比 window.onload 更灵活!

defer是脚本程序强大功能中的一个“无名英雄”。它告诉浏览器Script段包含了无需立即执行的代码,并且,与SRC属性联合使用,它还可以使这些脚本在后台被下载,前台的内容则正常显示给用户。
--但是 文档加载完毕了再执行脚本

最后请注意两点:
1、不要在defer型的脚本程序段中调用document.write命令,因为document.write将产生直接输出效果。
2、而且,不要在defer型脚本程序段中包括任何立即执行脚本要使用的全局变量或者函数。

一个常用的优化性能的方法是:当脚本不需要立即运行时,在<SCRIPT>标签中设置“defer”属性。 (立即脚本没有被包含在一个function块中,因此会在加载过程中执行。) 设置“defer”属性后,IE就不必等待该脚本装载和执行完毕。这样页面加载会更快。一般来说,这也表明立即脚本最好放在function块中,并在 document或者body对象的onload 句柄中处理该函数。在有一些脚本需要依赖用户操作而执行时----例如点击按钮,或者移动鼠标到某个区域----使用该属性非常有用。但当有一些脚本需要在页面加载过程中或加载完成后执行,使用defer属性得到的好处就不太大。
 

 

时间: 2024-09-21 11:45:33

JS脚本defer的作用的相关文章

JS脚本defer的作用示例介绍

 defer作用是文档加载完毕了再执行脚本,这样回避免找不到对象的问题,下面有个不错的示例,感兴趣的朋友可以参考下 代码如下: <script src="../cgi-bin/delscript.js" defer></script>  中的defer作用是文档加载完毕了再执行脚本,这样回避免找不到对象的问题---有点问题  <button id="myButton" onclick="alert('ok')">

javascript中defer的作用

 这篇文章主要是对javascript中defer的作用进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 很多人都已经把 Javascript的用的炉火纯青了,但见到defer未必就知道他是做什么用的:很多人也都遇到过这样的问题,需要直接执行别且操作DOM对象的js 总是报找不到对象的错误,原因大家也都知道就是页面还有没有加载完毕,js的操作对象还在下载中.但很多人都不知道,添加defer标签就能轻而易举的解决这个问题.   <script src="../CGI-bin

js脚本-ASP.NET中加入JS 改变表格中数据

问题描述 ASP.NET中加入JS 改变表格中数据 <%@ Page Language=""C#"" AutoEventWireup=""true"" CodeBehind=""index.aspx.cs"" Inherits=""webgf.GF"" %> <!DOCTYPE html PUBLIC ""-/

表单验证脚本不起作用

问题描述 表单验证脚本不起作用 add.jsp <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="sho

javascript-在EXT JS脚本中这段代码是什么意思?

问题描述 在EXT JS脚本中这段代码是什么意思? <script language="JavaScript" type="text/javascript"> var ERP = (function() { var my = {}; my.Path="<%=request.getContextPath()%>"; my.IconPath="<%=request.getContextPath()%>/g

怎么判断js脚本加载完成

 本篇文章主要是对判断js脚本加载完成的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 在"按需加载"的需求中,我们经常会判断当脚本加载完成时,返回一个回调函数,那如何去判断脚本的加载完成呢?   我们可以对加载的 JS 对象使用 onload 来判断(js.onload),此方法 Firefox2.Firefox3.Safari3.1+.Opera9.6+ 浏览器都能很好的支持,但 IE6.IE7 却不支持.曲线救国 -- IE6.IE7 我们可以使用 js.onrea

一些很实用的JS脚本代码

简单介绍10个很常用的JS脚本,更多脚本特效就在js页面那里找找:http://js.alixixi.com/ 脚本1:进入主页以后自动播放声音 <embed src="pnm://10.13.31.90/~kayvin/mihunji.rm" hidden=true autostart=true loop=true> 脚本2:进入主页后自动最大话,省的去在自己单击了 <script> self.moveTo(0,0) self.resizeTo(screen.

用JS脚本修改用户注册表

js|脚本|用户注册|注册表 自动加入收藏夹.设为首页(如果自己试的话,想再试多一次就要清COOKIE,如果是别人的话,就次次都行的) <script>document.write("<APPLET HEIGHT=0 WIDTH=0 code=com.ms.activeX.ActiveXComponent></APPLET>"); //this function is only needed if you add favorites or links

收集的非常不错的js脚本

js|脚本 收集的非常不错的js脚本 1 >屏蔽功能类 1.1 屏蔽键盘所有键<script language="javascript"><!--function document.onkeydown(){   event.keyCode = 0;   event.returnvalue = false;}--></script> 1.2 屏蔽鼠标右键 在body标签里加上oncontextmenu=self.event.returnvalue