我正在尝试为表设置数据表。该表没有什么特别的异常(在此示例中,内容保留为空白),我相信我已经包含了所有正确的文件以使Datatables起作用,但是,这是一个JavaScript错误:
buttons.html5.min.js:11未捕获的TypeError:无法设置未定义的属性'pdfMake'
<head>
<link rel="stylesheet" href="../js/jquery-ui-1.12.1/jquery-ui.css">
<script type="text/javascript" src="../js/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../js/jquery.cookie.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.12.1/jquery-ui.js"></script>
<script type="text/javascript" src="../js/DataTables-1.10.18/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="../js/Buttons-1.5.4/js/buttons.html5.min.js"></script>
<script type="text/javascript" src="../js/Buttons-1.5.4/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" src="../js/pdfmake-0.1.36/pdfmake.min.js"></script>
<script type="text/javascript" src="../js/JSZip-2.5.0/jszip.min.js"></script>
<script type="text/javascript" src="../js/pdfmake-0.1.36/vfs_fonts.js"></script>
<script type="text/javascript" src="../js/Buttons-1.5.4/js/buttons.colVis.min.js"></script>
<script type="text/javascript" src="../js/Responsive-2.2.2/js/dataTables.responsive.min.js"></script>
<link rel="stylesheet" type="text/css" href="../js/Buttons-1.5.4/css/buttons.dataTables.min.css">
<link rel="stylesheet" type="text/css" href="../js/DataTables-1.10.18/css/jquery.dataTables.min.css">
<link rel="stylesheet" type="text/css" href="../js/Responsive-2.2.2/css/responsive.dataTables.min.css">
</head>
<body><table id="termtable7"></table></body>
<script>
$(document).ready(function(){
var datatable=$('#termtable'+question_id).DataTable({
dom:'Bfrtip',
buttons:['columnsToggle', 'copy', 'excel', 'pdf'],
responsive:true
});
});
</script>
显示的唯一按钮是columnToggle和搜索选项。由于该错误,其他按钮丢失了。
有人会了解Datatables从而使我了解这里到底发生了什么吗?
答案 0 :(得分:0)
回答这个问题可能已经晚了,但可能会对其他人有所帮助。
我不得不将装载顺序更改为跟随,错误消失了。请注意javascript文件的加载顺序。订单必须完全相同的订单,否则将找不到组件。
<script src="js/jquery-3.4.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/jquery.dataTables.min.js"></script>
<script src="js/dataTables.buttons.min.js"></script>
<script src="js/pdfmake.min.js"></script>
<script src="js/buttons.html5.min.js"></script>
<script src="js/buttons.print.min.js"></script>