如果图书馆的大小是您所关心的,您最好的选择是自行修改js库.取出可能与功能点功能无关的代码段.然后进行测试,逐渐使图书馆越来越小.除此之外,我没有发现任何明显的已经有这个解决方案可用的地方.
通过执行上述练习,我能够将tableExport.js文件从12kb到5kb(非最小化),同时仍然保持导出到电源点功能.
/*The MIT License (MIT)
Copyright (c) 2014 https://github.com/kayalshri/
Permission is hereby granted....
....
*/
(function($){
$.fn.extend({
tableExport: function(options) {
var defaults = {
separator: ',',
ignoreColumn: [],
tableName:'yourTableName',
type:'powerpoint',
escape:'true',
htmlContent:'false',
consoleLog:'false'
};
var options = $.extend(defaults, options);
var el = this;
if(defaults.type == 'powerpoint'){
//console.log($(this).html());
var excel="
// Header
$(el).find('thead').find('tr').each(function() {
excel += "
";$(this).filter(':visible').find('th').each(function(index,data) {
if ($(this).css('display') != 'none'){
if(defaults.ignoreColumn.indexOf(index) == -1){
excel += "
" + parseString($(this))+ "";}
}
});
excel += '
';});
// Row Vs Column
var rowCount=1;
$(el).find('tbody').find('tr').each(function() {
excel += "
";var colCount=0;
$(this).filter(':visible').find('td').each(function(index,data) {
if ($(this).css('display') != 'none'){
if(defaults.ignoreColumn.indexOf(index) == -1){
excel += "
"+parseString($(this))+"";}
}
colCount++;
});
rowCount++;
excel += '
';});
excel += '
'if(defaults.consoleLog == 'true'){
console.log(excel);
}
var excelFile = "";
excelFile += "
";excelFile += "";
excelFile += "";
excelFile += "
";excelFile += excel;
excelFile += "";
excelFile += "";
var base64data = "base64," + $.base64.encode(excelFile);
window.open('data:application/vnd.ms-'+defaults.type+';filename=exportData.doc;' + base64data);
}
function parseString(data){
if(defaults.htmlContent == 'true'){
content_data = data.html().trim();
}else{
content_data = data.text().trim();
}
if(defaults.escape == 'true'){
content_data = escape(content_data);
}
return content_data;
}
}
});
})(jQuery);
您可以使用此代码替换您的tableExport.js文件,并以相同的方式通过传递powerpoint作为类型,或者您可以省略它,它仍然可以工作.