var Include = function(cfg) { this.cfg = cfg; this._init(); }; Include.prototype = { constructor: Include, _init: function() { var c = this.cfg; if (c.async !== false) c.async = true; this.$container = $('#' + c.id); }, fetch: function() { var c = this.cfg, self = this; return $.ajax({ url: c.src, type: 'GET', dataType: 'html', async: c.async, success: function(html) { self.$container.html(html); c.onload && c.onload(html); } }); } }; // 需要引入的代码片段 var includes = [{ id: 'header', src: '/common/footer.html', onload: function() { // console.log('...header loaded...'); } }, { id: 'footer', src: '/common/footer.html', onload: function() { // console.log('...footer loaded...'); } }]; $.each(includes, function(i, cfg) { if ($('#' + cfg.id).length) { new Include(cfg).fetch(); } });