FileLoadTools
/**
* Created by dev013 on 9/9/14.
*/
var FileLoadTools = (function () {
var my = {};
var htmlFile = [];// array for storing name of files loaded
var jsFile = [];
var cssFile = []; /**
* @param {Object} file filename
* @param {Object} fileArray
* function for judging if the file is loaded or not
*/
function isLoaded(file, fileArray) {
for (var i = 0; i < fileArray.length; i++) {
if (fileArray[i] == file) {
return true;
}
}
return false;
} function getLastArray(array) {
return array[array.length - 1];
} /**
* @param {Object} baseurl
* @param {Object} names
* function to load js files by names
*/
my.loadJsFile = function (names) {
var name = getLastArray(names);
if (!isLoaded(name, jsFile)) {
var url = g_applicationContext + g_jsPath + names.join("/") + ".js";
$("head").append("<script src='" + url + "'></script>");
jsFile.push(name);
}
}; /**
* load js files by jQuery ,support callback after js file loaded.
* @method loadJsFileByJQ
* @param {Array} names
* @param {Function} onload
*/
my.loadJsFileByJQ = function (names, onload) {
var name = getLastArray(names);
if (!isLoaded(name, jsFile)) {
var url = g_applicationContext + g_jsPath + names.join("/") + ".js";
jsFile.push(name);
$.getScript(url, function (data, textStatus, jqxhr) {
if (typeof onload == 'function') {
onload.apply();
}
});
} }; my.loadMock = function (name, onload) {
if (!isLoaded(name, jsFile)) {
var url = g_applicationContext + g_mockPath + name + ".js";
jsFile.push(name);
$("head").append("<script src='" + url + "'></script>");
}
} my.loadCssFile = function (names) {
var name = names[0];
if (!isLoaded(name, cssFile)) {
var url = g_applicationContext + g_cssPath + name + ".css";
$("head").append("<link type='text/css' rel='stylesheet' href='" + url + "'>");
cssFile.push(name);
}
}; my.loadRqrFiles = function (names, jqObj) {
var name = getLastArray(names);
if (!isLoaded(name, htmlFile)) {
var url = g_applicationContext + g_htmlPath + names.join("/") + ".html";
var func = function (data) {
//after the html file loaded,load the js and css files
jqObj.append(data);
htmlFile.push(name);
my.loadJsFile(names);
my.loadCssFile(names);
if (names.length == 1) {
populateThePageWithLanguageSetting(names.join("-") + "Page");
} else {
populateThePageWithLanguageSetting(names.join("-"));
}
}; var errorFunc = function (xhr) {
alert(xhr.statusText);
}; $.ajax({
async: false,
url: url,
type: "GET",
success: func,
error: errorFunc
});
}
};
return my;
}()); /*
*function for load file needed when menu item clicked
**/
$.fn.loadPageToContent = function (names) {
FileLoadTools.loadRqrFiles(names, $(this));
};
FileLoadTools的更多相关文章
随机推荐
- /sys/kernel/debug/gpio
在使用GPIO的时候,有时候不知道GPIO的状态,也不知道在内核中GPIO是否申请成功. 可以通过/sys/kernel/debug/gpio这个文件来查看.这个文件显示了申请成功的GPIO的输入输出 ...
- ActionContextCleanUp
ActionContextCleanUp作用 延长action中属性的生命周期,包括自定义属性,以便在jsp页面中进行访问,让actionContextcleanup过滤器来清除属性,不让acti ...
- 织梦dedecms整合discuz论坛的操作方法
织梦dedecms和discuz论坛整合主要用途,是让两个系统共享用户数据,同一个用户可以在两个网站都可以登录.在我们制作织梦cms模板的时候,有时需要整合discuz里的东细.本文主要讲解一下ded ...
- Amazon Web Services (目录)
一.官方声明 AWS云全球服务基础设施区域列表 AWS产品定价国外区 AWS产品定价中国区 (注意!需要登陆账户才能查看) AWS产品费用预算 AWS区域和终端节点 二.计算 Amazon学习:如何启 ...
- Cocos Studio编辑器运行日志路径
有时候打开Cocos Studio直接崩溃,要想查找原因就要查log了,网上找了好久才找到日志路径,在你工作空间下面的CocosStudio2\logs. 工作空间就是安装时候设置的那个路径.
- 数组和对象常用API
数组API: 1. forEach 遍历所有元素 var arr = [1,2,3] arr.forEach(function(item,index){ // 遍历数组的所有元素 console.lo ...
- python--get_data_from_csv_or_txt
一.从csv文件中获取 import osimport csv class GetDataFromCsvFile(): def __init__(self, csv_file, params_list ...
- 如何让ie9.0以下的浏览器支持getElementsByClassName
如何让ie9.0以下的浏览器支持getElementsByClassName /** * node是表示dom树的搜索起点,Classname是需要搜索的类名. * 如果传入的节点上已经存在了 ...
- PAT 甲级 1020 Tree Traversals (二叉树遍历)
1020. Tree Traversals (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Suppo ...
- 修改记事本默认编码为UTF-8
1. 新建一个txt文档,不输入任何内容.然后“另存为”,将编码由默认的 ANSI 修改为 Unicode 或 UTF-8,并将新文档命名为 temp.txt 2.将 temp.txt 移动至系统目录 ...