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('');