`
angowang
  • 浏览: 5556 次
  • 性别: 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()`方法将其转换为...

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

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

    IE8JavaScript加载器LittleLoader.zip

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

    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版本来加载高德地图,并结合高德地图的影像数据,实现自定义的GaodeMapLayer模块。ArcGIS API for JavaScript是一个强大的Web GIS开发工具,它允许...

    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文件的加载速度。 首先,文件内容提到了网站...

    arcgis api for js定制开发加载shp以及json.zip

    《ArcGIS API for JavaScript:深度解析SHP与JSON数据加载》 在GIS(地理信息系统)领域,ArcGIS API for JavaScript是Esri公司提供的一款强大的Web GIS开发工具,它允许开发者在网页上创建交互式地图应用。本文将...

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

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

Global site tag (gtag.js) - Google Analytics