动态引进js文件

在项目中遇到一个这样的问题。即:进行登录以后才引进并执行一个外部的js文件。代码如下:

//动态引进js,登录成功后引入holdSession.js
  function loadScript(url, callback) {
    var script = document.createElement("script");
    script.type = "text/javascript";
    if(typeof(callback) != "undefined") {
      if(script.readyState) {
        script.onreadystatechange = function() {
          if(script.readyState == "loaded" || script.readyState == "complete") {
            script.onreadystatechange = null;
            callback();
          }
        };
      } else {
        script.onload = function() {
          callback();
        };
      }
    };
    script.src = url;
    document.body.appendChild(script);
  }
//点击登陆
function fun_login(_type) {
  //检查录入项目:
  var err = checkLogin();
  if(err) {
    alert(err);
    return;
  }
  var formData = {
    "loginType": _type,
    "loginName": $(".login-right input[name=‘loginname‘]").val(),
    "password": $(".login-right input[name=‘password‘]").val()
  };
  $.ajax({
    type: ‘post‘,
    url: "/dp/spirit/login",
    data: formData,
    dataType: ‘json‘,
    success: function(data) {
      if(data.returnCode == "00") {
        isLogin = "1";
        var memberObjStr = JSON.stringify(data.memberInfo);
        sessionStorage.setItem("cgpt_memberInfo", memberObjStr);
        sessionStorage.setItem("cgpt_pwd", $(".login-right input[name=‘password‘]").val());
        $("#signBox").html("");
        $("#signModal").modal("hide");
        fillMemberMes(memberObjStr);
        loadScript("/dp/cgpt/js/holdSession.js", function() {
          //加载,并执行回调函数
        });
      } else {
        alert("登录失败:" + data.messageInfo);
      }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) { //失败回调函数
      var m = "系统错误:\nstatu=" + XMLHttpRequest.status + "\nreadyState=" + XMLHttpRequest.readyState + "\ntext=" + textStatus + "\nerrThrown=" + errorThrown;
      alert(m);
    }
  });

原文地址:https://www.cnblogs.com/TigerZhang-home/p/8985611.html

时间: 2024-10-11 10:30:25

动态引进js文件的相关文章

动态引入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文件就不需要重新引入.插件会自动忽略之前已

动态添加js文件.

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

动态添加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

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.

动态导入Js文件

var ScriptLoader = { worker: 0, isWait: false, readyQueue: [], callback: [], timer: null, wait: function () { if (!this._isComplateTask()) { this.isWait = true; this.readyQueue.unshift('wait'); } //console.log('wait is true'); return this; }, _isComp

后台如何动态添加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

js 动态修改css文件

_.find(document.styleSheets[4].cssRules,function(cssRule){ if(cssRule.selectorText && cssRule.selectorText.indexOf(".navbar-fixed-top2")>-1){ cssRule.style.position=""; cssRule.style.top = "0px"; } if(cssRule.selec

JavaScript 之 动态加载JS代码或JS文件

2.动态加载JS文件 <script type="text/javascript"> function loadScript(url, callback) { var script = document.createElement("script"); script.type = "text/javascript"; if(typeof(callback) != "undefined"){     if (scri