zoukankan      html  css  js  c++  java
  • JS属性defer的好处及IE8 提示 KB927917, IE6 IE7 提示操作已中止的解决办法

    其实就是简单的利用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"---简单直接,正在使用

  • 相关阅读:
    webpack常用插件及作用
    函数柯里化
    防抖和节流
    实现深拷贝
    实现new操作符
    关于js中断ajax请求
    从输入 URL 到页面加载完成,发生了什么?
    vue路由传参params和query的区别
    input输入框限制(座机,手机号码)
    判断当前页面是不是用户正在浏览的页面
  • 原文地址:https://www.cnblogs.com/dwfbenben/p/2642227.html
Copyright © 2011-2022 走看看