美文网首页
js-动态添加脚本

js-动态添加脚本

作者: 梦夜空中最亮的星 | 来源:发表于2018-01-04 14:57 被阅读0次

简述使用动态脚本加载JS,并且在浏览器中的兼容处理:

Firefox,Opera,Chrome,Safari3以上版本会在<script>元素接收完成是触发一个load事件,因此可以通过侦听此事件来获得脚本加载完成时的状态:

var script = document.createElement("script");

script.type="text/javascript";

// Firefox,Opera,Chrome,Safari 3+

script.onload=function(){

alert("Script loaded");

}

script.src="file1.js";

document.getElementsByTagName("head")[0].appendChild(script);

IE支持另一种实现方式,它会触发一个readystatechange事件;

下面的函数封装了标准及IE特有的实现方法:

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;        // 只要loaded和complete任何一个触发,则删除事件处理器(以确保事件不会处理两次)

                callback();

            }

        }

    }else{    //其他浏览器

        script.onload = function(){

            callback();

        }

    }

    script.src = url;

    document.getElementsByTagName("head")[0].appendChild(script);

}

loadScript()函数用法如下:

loadScript("file1.js",function(){

    alert("File is loaded");

});

动态脚本加载凭借着它在跨浏览器兼容性和易用的优势,成为最通用的 无阻塞加载解决方案!

一旦页面初始化所需的代码完成下载,你可以继续自由的使用loadScript()去加载页面其他的功能所需的脚本;

相关文章

  • js-动态添加脚本

    简述使用动态脚本加载JS,并且在浏览器中的兼容处理: Firefox,Opera,Chrome,Safari3以上...

  • 【DOM】DOM操作技术

    动态脚本 定义:页面加载时不存在,但将来的某一时刻通过修改DOM动态添加的脚本。创建动态脚本有两种方法: 插入外部...

  • Dylib 注入

    准备工作: 像往常一样,创建项目,创建脚本,引入固定的脚本。 动态库 配置 添加 动态库 (Dynamic) IO...

  • 180807-Quick-Task 动态脚本支持框架之Groov

    Quick-Task 动态脚本支持框架之Groovy脚本加载执行 上一篇简答说了如何判断有任务动态添加、删除或更新...

  • Postman Script用法

    介绍 Postman提供了一定的脚本编写功能,用户可以通过编写脚本添加一些动态行为,官方介绍如下: Postman...

  • JS-添加

  • 1、JS基本语法

    什么是JS: JavaScript,简称JS- 他是 运行在浏览器端 的 脚本语言JavaScript和Java没...

  • AdventureCreator学习笔记20:保存和读取

    单独添加脚本 可以添加不同的SaveSystem脚本。 统一添加脚本 在Build Scenes中添加当前场景之后...

  • 2019-05-30

    Javascript之动态加载脚本和样式 //动态加载脚本 function loadScript(url){ ...

  • iOS Framework合并真机与模拟器架构的脚本

    一:添加脚本: -> Build Phases -> 添加Run Script -> 添加如下脚本: 二:targ...

网友评论

      本文标题:js-动态添加脚本

      本文链接:https://www.haomeiwen.com/subject/zmjrnxtx.html