javascript - 使用 javascript 将 HTML 页面导出为 PDF 时页面卡住
问题描述
嗨,我有一个使用 javascript 将 HTML 页面转换为带有 CSS 的 PDF 的代码,问题是当我单击按钮时页面卡住并停止响应。
下面是生成 TABLE 的脚本
$(document).ready(function(){
$('#load_data').click(function(){
$.ajax({
url:"OutputNew.csv",
dataType:"text",
success:function(data){
var employee_data = data.split(/\r?\n|\r/);
var table_data = '<div class="dropdown"><button class="dropbtn">Download</button><div class="dropdown-content"><a href="javascript:CreatePDF()">Download PDF</a></div></div><input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names.."><div id="VMTable"><div id="content"><table id="myTable" class="table table-striped"">';
for(var count = 0; count<employee_data.length; count++) {
var cell_data = employee_data[count].split(',');
table_data += '<tr>';
for(var cell_count=0; cell_count<cell_data.length; cell_count++){
if(count === 0){
table_data += '<th id="headers">'+cell_data[cell_count]+'</th>';
}else{
if(cell_data[cell_count] .includes("Not Matching")){
var ret = cell_data[cell_count].replace('Not Matching','');
if (ret == ""){
table_data += '<td>'+ret+'</td>'
}else{
table_data += '<td data-color="green"><span style="color:red">'+ret+'</span></td>';
}
}else if(cell_data[cell_count] .includes("Matching")){
var ret = cell_data[cell_count].replace('Matching','');
if (ret == ""){
table_data += '<td>'+ret+'</td>'
}else{
table_data += '<td data-color="green"><span class="badge-complete">'+ret+'</span></td>';
}
}else{
table_data += '<td>'+cell_data[cell_count]+'</td>';
}
}
}
table_data += '</tr>';
}
table_data += '</table></div>';
$('#employee_table').html(table_data);
}
});
});
});
这里是表格的显示位置:
<div class="container">
<div class="table-responsive">
<!-- <img src="banner.png" id="banner"> -->
<h1 id ="Heading">Validator</h1>
<br />
<div id ="loadbutton">
<button type="button" name="load_data" id="load_data" class="btn btn-info">Load Data</button>
</div>
<br />
<div id="employee_table">
</div>
</div>
</div>
</div>
将 HTML 页面导出为 PDF 的代码
function CreatePDF(){
let doc = new jsPDF('p','pt','a4');
doc.addHTML(document.body,function() {
doc.save('html.pdf');
});
}
所以当我点击下载按钮时,它会卡住并且没有显示错误。
解决方案
推荐阅读
- matlab - MATLAB:可能存在具有相同坐标的标记时的gscatter
- javascript - 转义 Angular 模板表达式以显示在 Angular HTML 组件模板中?
- angular - 角嵌套形式数组
- html - 如何进行边界-底部过渡?
- javascript - 如何在javascript中将远程图像转换为base64
- c# - CreateErrorResponse is losing text
- r - Problem with Goodness-Of-Fit tests for objects of class kppm in spatstat version 1.61-0
- c# - 如何根据层次结构中的场景顺序对循环进行排序以 debug.log 游戏对象?
- r - 为什么在 x 和 y 轴列选择之间使用 ~ 而不是 R 文档中看到的 plot(x,y, xlab, ylab) 中的常规 plot(x,y )?
- flutter - instagram 的“heart-ing”背后的逻辑发布了流畅的 api 调用