zoukankan      html  css  js  c++  java
  • 动态加载外部资源文件

    功能描述:根据当前页面的状态(读/写)来加载不同的外部资源(js、css等),从而达到合理加载页面内容,提高页面响应速度,优化应用性能的目的。

    实例参考:

    <script language="JavaScript">
      var bIsNewDoc="<Computed Value>"
      var strUnid = "<Computed Value>"
      var bIsEdited = "<Computed Value>";
      var strWfStatus= "<Computed Value>";
      var  hWinDlg = null;
      if (window.execScript == null) {
        window.execScript = function(script) {
          eval(script);
        }
      }
      function useScript (name) {
        try {
      var loader = xmlhttp();
      loader.open('GET', name, false);
      loader.send(null);
      window.execScript(loader.responseText.toString());
     } catch (e) {
      alert(e);
     }
      }
      function transferJs(name) {
        try {
          useScript(name);
        }catch (e) {
          alert(e);
        }
      }
     
      function xmlhttp() {
        try{return new ActiveXObject("Msxml2.XMLHTTP");} catch(e){}
        try{return new ActiveXObject("Microsoft.XMLHTTP");} catch(e){}
        try{return new XMLHttpRequest();} catch(e){}
        alert("XMLHttpRequest Object not existed!!");
        return null;
      }
    /*Customize when doc status is read or edit.
    ========================Start======================================================*/
      if (bIsNewDoc || (bIsEdited&&strWfStatus=="0")) {
        var externalFiles= [
          {Url: "/DFCS/dfcs.nsf/Resource/css/Common.css",  Type:"css"},   //表单样式
          {Url: "/DFCS/dfcs.nsf/FormDisposal.js",   Type:"javascript"},  //表单布局
          {Url: "/DFCS/dfcs.nsf/selPerson.js",    Type:"javascript"},  //选人控件
          {Url: "/DFCS/dfcs.nsf/Validate.js",    Type:"javascript"},  //元素校验
          {Url: "/DFCS/dfcs.nsf/MetaObject.js",      Type:"javascript"},  //元数据
          {Url: "<Computed Value>",         Type:"javascript"}  //日历控件kludge:目前必须放在最后
        ];
      }
      else{
        var externalFiles= [
          {Url: "/DFCS/dfcs.nsf/Resource/css/Common.css",  Type:"css"},   //表单样式
          {Url: "/DFCS/dfcs.nsf/FormDisposal.js",   Type:"javascript"},  //表单布局
          {Url: "/DFCS/dfcs.nsf/MetaObject.js",      Type:"javascript"}  //元数据
        ];
      }
    //=================================End=================================================
      intFilesTot = externalFiles.length;
      var oHead = document.getElementsByTagName('HEAD').item(0);        
      for(var i=0;i<intFilesTot;i++){  
        var sType = externalFiles[i].Type;
        if(sType=="javascript"){
     transferJs(externalFiles[i].Url);
        }
        else{
          if(sType=="css"){
            var cssTag = document.createElement('link');
        cssTag.setAttribute("rel","stylesheet");
        cssTag.setAttribute("type","text/css");
        cssTag.setAttribute("href",externalFiles[i].Url);
        oHead.appendChild(cssTag);
          }       
        }
      }
    </script>

  • 相关阅读:
    Sublime Text 3 安装及常用插件配置
    利用事件对象实现线程同步
    基于UDP(面向无连接)的socket编程
    基于TCP(面向连接)的socket编程
    基于TCP(面向连接)的socket编程
    响应式布局之媒体查询 @media
    (function($){})(jQuery)---Javascript的神级特性:闭包
    noConflict()
    $.extend()与$.fn.extend()
    Web中的宽和高
  • 原文地址:https://www.cnblogs.com/mingle/p/js_dynamic.html
Copyright © 2011-2022 走看看