javascript动态加载js脚本几种方法

javascript动态加载js脚本
1、直接document.write

 代码如下 复制代码

<script language="javascript">

    document.write("<script src='test.js'></script>");

</script>

2、动态改变已有script的src属性

 代码如下 复制代码

<script src='' id="s1"></script>

<script language="javascript">

    s1.src="test.js"

</script>

3、动态创建script元素

 代码如下 复制代码

function require(url, options){
    var head, node, isOpera;
    isOpera         = typeof opera !== 'undefined' && opera.toString() === '[object Opera]';
    options.success = options.success || function(){};
    options.error   = options.error || function(){};
    options.type    = options.type || 'text/javascript';
    options.charset = options.charset || 'utf-8';
    options.async   = options.async || true;
     
    head            = document.getElementsByTagName("head")[0];
    node            = document.createElement(//javascript/i.test(options.type) ? 'script' : 'style');
    node.type       = options.type;
    node.charset    = options.charset;
    node.async      = options.async;
    node.src        = url;
    if (node.attachEvent && 
        !(node.attachEvent.toString && node.attachEvent.toString().indexOf('[native code') < 0) && 
        !isOpera){
        node.attachEvent('onreadystatechange', function(){
            if(!node.readyState || node.readyState == "loaded" || node.readyState == "complete"){
                options.success();
            }
        });
    }else{
        node.addEventListener('load', options.success, false);
        node.addEventListener('error', options.error, false);
    }
     
    head.appendChild(node);
}

IE不支持加载失败检测

 代码如下 复制代码

require('http://code.jquery.com/jquery-1.7.3.min.js', {
    success:function(){
        alert('jquery loaded!');
    },
    error:function(){
        alert('jquery load fail!');
    }
});

方法四

 代码如下 复制代码

//动态加载脚本文件

function AddScript(scriptID,scriptSRC)
{
    if(document.getElementByIdx(scriptID)!=null)
    return;
    var Heads = document.getElementsByTagName_r("HEAD");
    if(Heads.length==0)
    return;
    var oHead = Heads.item(0);
    var oScript= document.createElement("script");
    oScript.id = scriptID;
    oScript.type = "text/javascript";
    //oScript.text = scriptContent;
    oScript.src = scriptSRC;
    oHead.appendChild(oScript);
}

//动态加载脚本内容

function AddScript(scriptID,scriptContent)
{
    if(document.getElementByIdx(scriptID)!=null)
    return;
    var Heads = document.getElementsByTagName_r("HEAD");
    if(Heads.length==0)
    return;
    var oHead = Heads.item(0);
    var oScript= document.createElement("script");
    oScript.id = scriptID;
    oScript.type = "text/javascript";
    oScript.text = scriptContent;
    oHead.appendChild(oScript);
}

时间: 2024-09-17 15:30:40

javascript动态加载js脚本几种方法的相关文章

JavaScript动态加载CSS的三种方法

css|javascript|动态|加载 如果你有很多关联的CSS文件要一起加载,或者想动态的加载不同的CSS文件,那么下面的方法你一定对你有帮助. 第一种:一般用在外部CSS文件中加载必须的文件 程序代码@import url(style.css);/*只能用在CSS文件中或者style标签中*/ 第二种:简单的在页面中加载一个外部CSS文件  程序代码document.createStyleSheet(cssFile); 第三种:用createElement方法创建CSS的Link标签  程

使用jQuery动态加载js脚本文件的方法

 动态加载Javascript是一项非常强大且有用的技术.这方面的主题在网上已经讨论了不少,我也经常会在一些个人项目上使用RequireJS和Dojo加载js 它们很强大,但有时候也会得不偿失.如果你使用的是jQuery,它里面有一个内置的方法可以用来加载单个js文件.当你需要延迟加载一些js插件或其它类型的文件时,可以使用这个方法.下面就介绍一下如何使用它!   一.jQuery getScript()方法加载JavaScript   jQuery内置了一个方法可以加载单一的js文件:当加载完

javascript重新加载js文件三种方法

例1.重新加载js文件  代码如下 复制代码 function loadJs(file) {             var head = $("head").remove("script[role='reload']");             $("<scri" + "pt>" + "</scr" + "ipt>").attr({ role: 'reload

使用jQuery动态加载js脚本文件的方法_jquery

它们很强大,但有时候也会得不偿失.如果你使用的是jQuery,它里面有一个内置的方法可以用来加载单个js文件.当你需要延迟加载一些js插件或其它类型的文件时,可以使用这个方法.下面就介绍一下如何使用它! 一.jQuery getScript()方法加载JavaScript jQuery内置了一个方法可以加载单一的js文件:当加载完成后你可以在回调函数里执行后续操作.最基本的使用jQuery.getScript的方法是这样: 复制代码 代码如下: jQuery.getScript("/path/t

动态加载js的几种方法_javascript技巧

1.直接document.write <script language=javascript> document.write(<script src='test.js'><\/script>); </script> 2.动态改变已有script的src属性 <script src='' id=s1></script> <script language=javascript> s1.src=test.js </scri

javascript动态加载JS文件(支持各种浏览器)

1.直接document.write  代码如下 复制代码 <script language="javascript">     document.write("<script src='test.js'></script>"); </script> 2.动态改变已有script的src属性  代码如下 复制代码 <script src='' id="s1"></script>

JavaScript动态加载js文件

/********************************************************************* * JavaScript动态加载js文件 * 说明: * 之前没有使用require来动态加载js文件,自己模仿实现了一个,参考文档2中 * 有jQuery的方法,以及等效原型. * * 2017-8-28 深圳 龙华樟坑村 曾剑锋 **************************************************************

动态加载jQuery的两种方法实例分析_jquery

本文实例讲述了动态加载jQuery的两种方法.分享给大家供大家参考.具体如下: 第一种方法参考本站之前有人发的代码,增加了加载检测: 第二种方法来自去年的12306刷票脚本. 第一种方法: function withjQuery(callback) { if(!(window.jQuery)) { var js = document.createElement('script'); js.setAttribute('src', 'https://dynamic.12306.cn/otsweb/j

js 动态加载事件的几种方法总结_javascript技巧

有些时候需要动态加载javascript事件的一些方法往往我们需要在 JS 中动态添加事件,这就涉及到浏览器兼容性问题了,以下谈及的几种方法,我们也常常混合使用. 方法一.setAttributevar obj = document.getElementById("obj");obj.setAttribute("onclick", "javascript:alert('测试');"); 这里利用 setAttribute 指定 onclick 属