diff --git a/CHANGE.md b/CHANGE.md index 99ee027..976b420 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -1,3 +1,8 @@ +# 版本 v1.4 + +* 新增了 domloader.version 参数,此参数用于设置所有资源的版本信息,如果你的静态资源已经修改,但是浏览器极有可能缓存,那么通过这个参数来设置版本号可以很好地解决缓存的问题。 +* 新增了 domloader.onload 参数,此参数可以设置一系列回调(队列),当domloader完成所有资源加载时,执行此回调队列。 + # 版本 v1.3 * 新增了 domloader.root 参数,此参数用于设置一个项目根目录地址,如果当前项目放置在子目录,那么请设置此参数,可以确保正确加载资源文件。 diff --git a/README.md b/README.md index 33b5c72..e52ff9c 100644 --- a/README.md +++ b/README.md @@ -88,13 +88,29 @@ domloader.css(path); domloader.js(path); ``` -设置网站根目录 +设置网站根目录 如果你要把整个前端项目放在子目录,那么这个设置可以确保正确加载资源。 一旦设置了此参数,每次加载时都会在地址前附加此参数。 ```javascript domloader.root = 'https://yourwebsite.com/subdir/'; ``` +设置资源文件版本号 +可以解决由于浏览器缓存导致的资源更新不及时问题。 +一旦设置了此参数,每次加载时都会在地址后附加此参数。 +```javascript +domloader.version = 'v1.0'; +``` + +设置加载完成后的回调操作 +有一些操作必须要在所有资源加载完成之后进行。 +onload方法允许你设置一系列回调,将会在domloader加载完所有资源文件后启动这个回调。 +```javascript +domloader.onload( + function(){ xxx.xxx(); } +); +``` + 设置加载页面的icon 如果你不设置这个,那么在加载时只会显示进度条 ```javascript diff --git a/domloader.js b/domloader.js index 122b0bf..bdfe617 100644 --- a/domloader.js +++ b/domloader.js @@ -1,6 +1,6 @@ /*! * domloader.js - * v1.3 + * v1.4 * https://github.com/tmplink/domloader/ * * Licensed GPLv3 © TMPLINK STUDIO @@ -8,19 +8,21 @@ var domloader = { queue: [], + after_queue: [], + version: 0, progressbar: true, total: 0, icon: false, id: 1, debug: true, - root : '', + root: '', html: function (dom, path) { domloader.id++; domloader.log('Include::HTML::' + path); domloader.queue.push( function () { - $.get(domloader.root + path, function (response) { + $.get(domloader.root + path, {v: domloader.version}, function (response) { $(dom).replaceWith(response); domloader.load(path); }, 'text'); @@ -45,7 +47,7 @@ var domloader = { domloader.log('Include::JS::' + path); domloader.queue.push( function () { - $.get(domloader.root + path, function (response) { + $.get(domloader.root + path, {v: domloader.version}, function (response) { domloader.id++; $('body').append("\n"); domloader.load(path); @@ -57,6 +59,15 @@ var domloader = { load: function (src) { $('body').css('overflow', 'hidden'); if (domloader.queue.length === 0) { + + if (domloader.after_queue.length !== 0) { + var cb = null; + for (cb in domloader.after_queue) { + domloader.after_queue[cb](); + } + } + + if (domloader.progressbar === false) { $('#domloader_loading_show').fadeOut(100); $('#domloader_loading_bg').fadeOut(100); @@ -81,6 +92,11 @@ var domloader = { } }, + onload: function (cb) { + domloader.log('Add::OnLoad ballback'); + domloader.after_queue.push(cb); + }, + init: function () { window.onload = function () { $('head').append('');