Skip to content

Commit

Permalink
更新到 v1.4
Browse files Browse the repository at this point in the history
新增两个功能
  • Loading branch information
tmplink committed Dec 18, 2018
1 parent 01277e6 commit f89d4a8
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 5 deletions.
5 changes: 5 additions & 0 deletions CHANGE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# 版本 v1.4

* 新增了 domloader.version 参数,此参数用于设置所有资源的版本信息,如果你的静态资源已经修改,但是浏览器极有可能缓存,那么通过这个参数来设置版本号可以很好地解决缓存的问题。
* 新增了 domloader.onload 参数,此参数可以设置一系列回调(队列),当domloader完成所有资源加载时,执行此回调队列。

# 版本 v1.3

* 新增了 domloader.root 参数,此参数用于设置一个项目根目录地址,如果当前项目放置在子目录,那么请设置此参数,可以确保正确加载资源文件。
Expand Down
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
24 changes: 20 additions & 4 deletions domloader.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,28 @@
/*!
* domloader.js
* v1.3
* v1.4
* https://github.com/tmplink/domloader/
*
* Licensed GPLv3 © TMPLINK STUDIO
*/

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');
Expand All @@ -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("<script id=\"domloader_" + domloader.id + "\" type=\"text/javascript\">\n" + response + "</script>\n");
domloader.load(path);
Expand All @@ -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);
Expand All @@ -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('<style>*, ::after, ::before {box-sizing: border-box;}</style>');
Expand Down

0 comments on commit f89d4a8

Please sign in to comment.