动态添加JS文件到页面

/***
** 功能:  加载外部JS文件,加载完成后执行回调函数callback
***/
var utools = {
    config: {
        id: "",
        url: "",
        charset: "gb2312",
        callback: function () { }
    },
    merge: function (a, c) {
        for (var b in c) a[b] = c[b];
        return a
    },
    getScript: function (a) {
        var r = Math.floor(Math.random() * 10000);
        this.config = this.merge(this.config, a);
        var callback = this.config.callback;
        var scriptNode = document.createElement("script");
        scriptNode.setAttribute("id", this.config.id);
        scriptNode.setAttribute(‘charset‘, this.config.charset);
        scriptNode.setAttribute(‘type‘, ‘text/javascript‘);
        scriptNode.setAttribute(‘src‘, this.config.url + "?r=" + r);
        var head = document.getElementsByTagName("head")[0];
        head.appendChild(scriptNode);
        scriptNode[document.all ? "onreadystatechange" : "onload"] = function () {
            if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") {
                if (callback) callback();
                scriptNode.onreadystatechange = scriptNode.onload = null;
                scriptNode.parentNode.removeChild(scriptNode)
            }
        };
    }}

//调用方式
utools.getScript({url:"js文件路径"});
				
时间: 2024-10-15 01:11:06

动态添加JS文件到页面的相关文章

动态添加js文件.

方法一: $.getScript(url,callback); 这个方法是对$.ajax({ })的封装.默认是异步的而且是带有缓存的. 缓存对于用户来说,是个好东西,但是对于开发者来说可就是日了狗的东西了. 如果需要加载一个js文件或者多个没有相互依赖关系的js文件是没有问题的, 但是如果添加添加多个具有相互依赖关系的js文件,异步就会出现问题了. 可以从$.ajax()入手. function getScript(url){ $.ajax({ url: url, dataType: "scr

后台如何动态添加JS文件和css文件的引用

www.qdmm.com/BookReader/24290,68379406.aspxwww.qdmm.com/BookReader/24290,68379409.aspxwww.qdmm.com/BookReader/24290,68379413.aspxwww.qdmm.com/BookReader/24290,68379416.aspxwww.qdmm.com/BookReader/24290,68379418.aspxwww.qdmm.com/BookReader/24290,68379

android webview与js交互(动态添加js)

1.本地html与本地html里的js交互 2.本地html与本地js交互 3.网络html与网络js交互 4.网络html与本地js交互 5.各个情况动态添加js 以上5点都可以用一种方式来模拟,在本篇中采用本地html与本地js交互 (包含动态添加js的操作) 6.拦截url请求(在webview加载完成以后,触发的请求url) 7.拦截url请求后返回自己封装的数据(基于第6点,加载完成后,触发一些请求数据的url时拦截并自己封装数据返回给webview) 注:6.7点将在下一篇博客介绍

动态引入Js文件

var src = "/Scripts/Test.js"; $("<script type = 'text/javascript' src='" + src + "'><\/script>").appendTo("head"); //动态加载 TestAlert123123(); //调用Test.js中的函数 二.顺序添加(QQ) <img src="1.jpg" width

自己编写jQuery动态引入js文件插件 (jquery.import.dynamic.script)

这个插件主要是结合jquery或者xhr异步请求来使用的,它可以把已经引入过的js文件记录在浏览器内存中,当下次再引入相同的文件就忽略该文件的引入. 当你用$.load("dir/my-page.jsp"); 或xhr.request("server/to-my-page");等异步请求加载html页面的时候,在页面中导入js文件用本插件进行引入的话, 那么其他请求的页面中也导入了和前面页面相当的js文件的情况下,那这些js文件就不需要重新引入.插件会自动忽略之前已

如何实现动态添加布局文件(避免 The specified child already has a parent的问题)

首先扯点别的:我应经连续上了两个星期的班了,今天星期一.是第三个周.这个班上的也是没谁了.最近老是腰疼.估计是累了.最近也没跑步.今天下班继续跑起. 这篇文章讲一讲如何在一个布局文件中动态加在一个布局文件.避免出现The specified child already has a parent. You must call removeView() on the child's parent first.的问题.先看一看效果再说. 接下来是实现过程 首先是 activity_add_view.x

动态引进js文件

在项目中遇到一个这样的问题.即:进行登录以后才引进并执行一个外部的js文件.代码如下: //动态引进js,登录成功后引入holdSession.js function loadScript(url, callback) { var script = document.createElement("script"); script.type = "text/javascript"; if(typeof(callback) != "undefined"

js动态添加iframe,自适应页面宽高

function showIframe(url,w,h){ //添加iframe var if_w = w; var if_h = h; $("<iframe width='" + if_w + "' height='" + if_h + "' id=‘iFrame' name='iFrame' style='position:absolute;z-index:4;' frameborder='no' marginheight='0' marginw

js动态引入JS文件

<script type="text/javascript"> function loadJS(path){ var oHead = document.getElementsByTagName('HEAD').item(0); var oScript= document.createElement("script"); oScript.type = "text/javascript"; oScript.src=path; oHead.