欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

動(dòng)態(tài)加載js、css的實(shí)例代碼

 更新時(shí)間:2016年05月26日 09:06:44   作者:囧俠  
這篇文章主要介紹了動(dòng)態(tài)加載js、css的實(shí)例代碼的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看吧

一、原生js:

/**
* 加載js和css文件
* @param jsonData.path 前綴路徑
* @param jsonData.url 需要加載的js路徑或css路徑
* @param jsonData.type 需要加載的類型 js或css
*/
function loadWriteFiles(jsonData)
{
jsonData.path = jsonData.path != undefined ? jsonData.path : "";
if(jsonData.type == "js")
{
document.writeln("<script type='text/javascript' src='"+ jsonData.path + jsonData.url+"'></script>");
}
else if(jsonData.type == "css")
{
document.writeln("<link rel='stylesheet' href='"+jsonData.path + jsonData.url+"' type='text/css' />");
}
}
/**
* 加載js或css到head中
* @param jsonData.path 前綴路徑
* @param jsonData.url 需要加載的js路徑或css路徑
* @param jsonData.type 需要加載的類型 js或css
*/
function loadFilesToHead(jsonData)
{
jsonData.path = jsonData.path != undefined ? jsonData.path : "";
if(jsonData.type == "js")
{
var _js = document.createElement("script");
_js.setAttribute("type", "text/javascript");
_js.setAttribute("src", jsonData.path + jsonData.url);
_js.onload = _js.onreadystatechange=function(){ 
if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){ 
if("function" == typeof(jsonData["callback"]) && jsonData["callback"]){
jsonData["callback"].call(this);
}
} 
_js.onload=_js.onreadystatechange=null; 
} 
document.getElementsByTagName("head")[].appendChild(_js);//追加到head標(biāo)簽內(nèi)
}
else if(jsonData.type == "css")
{
var _css = document.createElement("link");
_js.setAttribute("type", "text/css");
_css.setAttribute("rel", "stylesheet");
_css.setAttribute("href", jsonData.path + jsonData.url);
document.getElementsByTagName("head")[].appendChild(_css);//追加到head標(biāo)簽內(nèi)
}
} 

二、jquery版本:

采用deferred對(duì)象返回結(jié)果

var uiLoad = uiLoad || {};
(function($, $document, uiLoad) {
"use strict";
var loaded = [],
promise = false,
deferred = $.Deferred();
uiLoad.load = function (srcs) {
srcs = $.isArray(srcs) ? srcs : srcs.split(/\s+/);
if(!promise){
promise = deferred.promise();
}
$.each(srcs, function(index, src) {
promise = promise.then( function(){
return src.indexOf('.css') >= ? loadCSS(src) : loadScript(src);
} );
});
deferred.resolve();
return promise;
};
var loadScript = function (src) {
if(loaded[src]) return loaded[src].promise();
var deferred = $.Deferred();
var script = $document.createElement('script');
script.src = src;
script.onload = function (e) {
deferred.resolve(e);
};
script.onerror = function (e) {
deferred.reject(e);
};
$document.body.appendChild(script);
loaded[src] = deferred;
return deferred.promise();
};
var loadCSS = function (href) {
if(loaded[href]) return loaded[href].promise();
var deferred = $.Deferred();
var style = $document.createElement('link');
style.rel = 'stylesheet';
style.type = 'text/css';
style.href = href;
style.onload = function (e) {
deferred.resolve(e);
};
style.onerror = function (e) {
deferred.reject(e);
};
$document.head.appendChild(style);
loaded[href] = deferred;
return deferred.promise();
}
})(jQuery, document, uiLoad);

以上所述是小編給大家介紹的動(dòng)態(tài)加載js、css的實(shí)例代碼,希望對(duì)大家有所幫助!

相關(guān)文章

  • 原生JS實(shí)現(xiàn)圖片輪播效果

    原生JS實(shí)現(xiàn)圖片輪播效果

    這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)圖片輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • js實(shí)現(xiàn)簡(jiǎn)單商品篩選功能

    js實(shí)現(xiàn)簡(jiǎn)單商品篩選功能

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)商品篩選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • 微信瀏覽器左上角返回按鈕監(jiān)聽(tīng)的實(shí)現(xiàn)

    微信瀏覽器左上角返回按鈕監(jiān)聽(tīng)的實(shí)現(xiàn)

    這篇文章主要介紹了微信瀏覽器左上角返回按鈕監(jiān)聽(tīng)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Visual Studio中js調(diào)試的方法圖解

    Visual Studio中js調(diào)試的方法圖解

    這篇文章主要介紹了Visual Studio中JS調(diào)試的方法,需要的朋友可以參考下
    2014-06-06
  • 用JS剩余字?jǐn)?shù)計(jì)算的代碼

    用JS剩余字?jǐn)?shù)計(jì)算的代碼

    函數(shù)中首先給maxChars變量指定了值(輸入?yún)^(qū)內(nèi)最多可用的字符數(shù),注意,該變量是個(gè)可用于計(jì)算的數(shù)值)
    2008-07-07
  • 全面接觸神奇的Bootstrap導(dǎo)航條實(shí)戰(zhàn)篇

    全面接觸神奇的Bootstrap導(dǎo)航條實(shí)戰(zhàn)篇

    導(dǎo)航條(navbar)在Bootstrap中是一個(gè)獨(dú)立組件,導(dǎo)航條(navbar)和導(dǎo)航(nav)在Bootstrap中是有明顯區(qū)別的,本文全面接觸神奇的Bootstrap導(dǎo)航條,感興趣的小伙伴們可以參考一下
    2016-08-08
  • JavaScript常用內(nèi)置對(duì)象用法分析

    JavaScript常用內(nèi)置對(duì)象用法分析

    這篇文章主要介紹了JavaScript常用內(nèi)置對(duì)象用法,簡(jiǎn)單總結(jié)分析了javascript String對(duì)象、Date對(duì)象、Math類、數(shù)組對(duì)象等常見(jiàn)對(duì)象的相關(guān)功能、方法與使用注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • 以BootStrap Tab為例寫(xiě)一個(gè)前端組件

    以BootStrap Tab為例寫(xiě)一個(gè)前端組件

    本文以Bootstrap標(biāo)簽頁(yè)組件為例,介紹如何編寫(xiě)或者封裝一個(gè)前端組件,具體示例代碼大家參考下本文
    2017-07-07
  • 淺談JS運(yùn)算符&&和|| 及其優(yōu)先級(jí)

    淺談JS運(yùn)算符&&和|| 及其優(yōu)先級(jí)

    下面小編就為大家?guī)?lái)一篇淺談JS運(yùn)算符&&和|| 及其優(yōu)先級(jí)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • JavaScript模塊化原理深入分析

    JavaScript模塊化原理深入分析

    JavaScript中的模塊化是指將每個(gè)js文件會(huì)被認(rèn)為單獨(dú)一個(gè)的模塊。模塊之間是互相不可見(jiàn)的。如果一個(gè)模塊需要使用另一個(gè)模塊,那么需要通過(guò)指定語(yǔ)法來(lái)引入要使用的模塊,而且只能使用引入模塊所暴露的內(nèi)容
    2022-11-11

最新評(píng)論