`
angowang
  • 浏览: 5494 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

javascript的加载

 
阅读更多

1.在</body>前放置<script type="text/javascript"></script>标签;

2.非阻塞脚本;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>xxx</title>
    </head>
    <body>
        <script type="text/javascript">
            alert('common');
        </script>
        <script type="text/javascript" defer>
            alert('defer');
        </script>
        <script type="text/javascript">
            window.onload = function(){
                alert('onload');
            }
        </script>
    </body>
</html>

执行顺序:common--->defer--->onload

3.动态脚本一;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>xxx</title>
    </head>
    <body>
        <script type="text/javascript">
            var script = document.createElement('script');
            script.type = 'text/javascript';
            script.onload = function(){
                alert('script loaded!');
            };
            script.src = 'loaded.js';
            document.getElementsByTagName('head')[0].appendChild(script);
        </script>
    </body>
</html>

loaded.js文件如下:

alert('loaded.js')

执行顺序:loaded.js--->script loaded!

4.动态脚本二;

html如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>xxx</title>
    </head>
    <body>
        <script type="text/javascript" src="loadScript.js"></script>
        <script type="text/javascript">
            loadScript('script.js', function(){
                alert('script.js loaded');
            });
        </script>
    </body>
</html>

loadScript.js如下:

function loadScript(url, callback){
    var script = document.createElement('script');
    script.type = 'text/javascript';
    if(script.readyState){//IE
        script.onreadystatechange = function(){
            if(script.readyState == 'loaded' || script.readyState == 'complete'){
                script.onreadystatechange = null;
                callback();
            }
        };
    }else{//Others
        script.onload = function(){
            callback();
        };
    }
    script.src = url;
    document.getElementsByTagName('head')[0].appendChild(script);
}

script.js如下:

alert('script.js');

执行书序:script.js--->script is loaded

5.xhr脚本注入;

html如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>xxx</title>
    </head>
    <body>
        <script type="text/javascript">
            var xhr = new XMLHttpRequest();
            xhr.open('get', './script.js', true);
            xhr.onreadystatechange = function(){
                if(xhr.readyState == 4){
                    if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){
                        var script = document.createElement('script');
                        script.type = 'text/javascript';
                        script.text = xhr.responseText;
                        document.body.appendChild(script);
                    }
                }
            };
            xhr.send(null);
        </script>
    </body>
</html>

script.js如下:

alert('script.js is loaded');

6.推荐非阻塞模式一;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>xxx</title>
    </head>
    <body>
        <script type="text/javascript" src="loader.js"></script>
        <script type="text/javascript">
            loadScript('the-rest.js', function(){
                Application.init();
            });
        </script>
    </body>
</html>

7.推荐非阻塞模式二;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>xxx</title>
    </head>
    <body>
        <script type="text/javascript">
            function loadScript(url, callback){
                var script = document.createElement('script');
                script.type = 'text/javascript';
                if(script.readyState){//IE
                    script.onreadystatechange = function(){
                        if(script.readyState == 'loaded' || script.readyState == 'complete'){
                            script.onreadystatechange = null;
                            callback();
                        }
                    };
                }else{//Others
                    script.onload = function(){
                        callback();
                    };
                }
                script.src = url;
                document.getElementsByTagName('head')[0].appendChild(script);
            }
            loadScript('the-rest.js', function(){
                Application.init();
            });
        </script>
    </body>
</html>

8.使用第三方插件;

一:使用YUI3进行压缩合并;

二:使用LazyLoad.js加载;

三:使用LABjs加载。

分享到:
评论

相关推荐

    基于ArcGIS API for JavaScript加载百度各种类型切片地图

    总结来说,"基于ArcGIS API for JavaScript加载百度各种类型切片地图"是一个将两种强大地图服务结合的技术实践。通过BaiduLayer模块,开发者可以在ArcGIS应用中利用百度地图的丰富切片,为用户提供更加多样化的地图...

    JavaScript加载FlashPaper文档

    JavaScript加载FlashPaper文档是将Adobe FlashPaper生成的PDF或SWF文档在网页中进行嵌入和控制的技术。FlashPaper是一款可以将打印文档如Word、Excel转换为Flash格式的工具,这样用户无需安装额外的插件就能查看这些...

    基于ArcGIS API for JavaScript加载天地图

    以上就是使用ArcGIS API for JavaScript加载天地图的基本流程。通过这种方式,我们可以将天地图集成到Web应用中,为用户提供中国本土的地理信息展示。同时,利用ArcGIS API的丰富功能,可以进一步实现地图标记、测量...

    scriptjs异步JavaScript加载器和依赖管理器

    **script.js:异步JavaScript加载器与依赖管理器详解** 在Web开发中,JavaScript的异步加载和依赖管理是优化页面性能的关键因素。`script.js`是一个轻量级且功能强大的工具,它允许开发者实现异步加载JavaScript...

    javascript 加载特效

    JavaScript加载特效是网页开发中常用的一种技术,用于在页面内容完全加载之前向用户展示一个反馈效果,提升用户体验。这些特效通常包括动态加载指示器、旋转图标、进度条等,它们可以传达给用户一种正在处理的感觉,...

    Arcgis for javascript 加载天地图及自定义图

    本话题主要聚焦于如何利用ArcGIS for JavaScript加载天地图以及添加自定义图层。 首先,让我们深入了解ArcGIS for JavaScript的核心概念。它基于ESRI的地理信息系统技术,提供了丰富的API接口,可以实现地图的创建...

    arcgis api for JavaScript加载在线天地图

    arcgis api for JavaScript加载在线天地图(包含矢量,影像,注记)

    js加载base64图片

    3. **JavaScript加载Base64图片**: 在JavaScript中加载Base64图片,通常涉及到以下几个步骤: - **转换图片为Base64**:你可以使用FileReader API读取本地图片文件,并调用其`readAsDataURL()`方法将其转换为...

    IE8JavaScript加载器LittleLoader.zip

    Little Loader 是一个轻量级的、IE8 JavaScript 加载器特点:脚本加载后可靠回调非常非常小 标签:Little

    ArcGIS API for JavaScript加载高德地图代码

    利用ArcGIS JavaScript API加载高德在线地图的扩展利用ArcGIS JavaScript API加载高德在线地图的扩展利用ArcGIS JavaScript API加载高德在线地图的扩展

    JavaScript动态加载事件

    实现JavaScript 动态加载事件

    loadrunner, 浏览器的简单,灵活,灵活的JavaScript加载器和构建工具.zip

    loadrunner, 浏览器的简单,灵活,灵活的JavaScript加载器和构建工具 Loadrunner是一个JavaScript依赖管理器。to开始作为我的科学项目脚本加载器和 MODULE 系统,但它转换为一般依赖项管理器来管理从CSS模板到DOM...

    arcgis for javascript 加载天地图和高德地图

    在GIS领域,ArcGIS for JavaScript API 是Esri公司推出的一款强大的Web地图开发工具,它允许开发者使用JavaScript语言创建交互式的地图应用。本教程将重点讲解如何利用ArcGIS API加载天地图和高德地图,以便在网页中...

    ArcGIS API for JavaScript4.10加载腾讯地图

    在本文中,我们将深入探讨如何使用ArcGIS API for JavaScript 4.10版本来加载腾讯地图,包括矢量地图、影像、地形图以及暗色矢量图。ArcGIS API for JavaScript是一个强大的工具,允许开发人员在Web应用中集成地理...

    加载JavaScript脚本的包

    这就是`js jar jwr`标签所指的场景,它涉及到Java运行时环境中如何加载和执行JavaScript脚本。 1. **Nashorn JavaScript引擎**: 在Java 8之前,Java提供了Nashorn JavaScript引擎,这是一个内置的JavaScript解释...

    Javascript加载速度慢的解决方案

    页面加载速度慢,对用户体验有极大的负面影响,因此开发者们一直在寻找提升JavaScript加载速度的有效方法。从提供的文件内容来看,文章提供了一些方法来优化JavaScript文件的加载速度。 首先,文件内容提到了网站...

    让javascript加载速度倍增的方法(解决JS加载速度慢的问题)

    为了解决JavaScript加载速度慢的问题,本文介绍了一种有效的解决方案,即将传统的&lt;script src="xxx.js"&gt;&lt;/script&gt;方式更换为使用document.write()方法动态插入标签。这种方法的核心思想是在页面内容完全加载后再加载...

    JavaScript加载框架Sleuth.js.zip

    Sleuth是一个加载框架,它允许开发者只需要require相应的库或者插件,不需要去下载,就可以直接使用,并且允许开发者任意切换版本。 标签:Sleuth

    JavaScript提高加载和执行效率的方法

    异步加载与延迟执行异步加载(async)和延迟执行(defer)是两种可以改善JavaScript加载和执行效率的技术。 1. 异步加载(async):通过在标签中添加async属性,可以让浏览器非阻塞地下载JavaScript文件,即在下载...

Global site tag (gtag.js) - Google Analytics