在这里,我尝试在单击按钮时将 fusioncharts 导出到 ppt。首先,我将 fusioncharts 转换为图像,然后将它们导出到 ppt。因为我需要在保存图像后生成 ppt,所以我在 javascript 中使用秒表函数来计算将融合图转换为图像所需的时间。这是我的代码:
<script type="text/javascript">
var initiateExport = false;
var _sw = new StopWatch();
var time;
function exportReport() {
exportCharts();
return false;
}
function exportCharts() {
_sw.start();
var exportFormat = 'JPG';
initiateExport = true;
for (var chartRef in FusionCharts.items) {
if (FusionCharts.items[chartRef].exportChart) {
document.getElementById("linkToExportedFile").innerHTML = "Exporting...";
FusionCharts.items[chartRef].exportChart({ "exportFormat": exportFormat });
}
else {
document.getElementById("linkToExportedFile").innerHTML = "Please wait till the chart completes rendering...";
}
}
}
function FC_Exported(statusObj) {
_sw.stop();
time = _sw.duration();
setTimeout(' document.getElementById("MainContent_Button1").click();', time);
}
</script>
在上面的代码中 document.getElementById("MainContent_Button1").click(); 函数生成 ppt。我的问题是因为我有 3 个 fusioncharts,所以函数 FC_Exported 执行了 3 次。所以我收到 ppt 的提示 3 次。我希望它只发生 1 次。另外我认为 ppt 代码的位置不能更改,因为我使用的是时间参数。有人可以指导我吗?等待您的回复。谢谢。
注意:计时器的停止功能不能放在其他任何地方,因为我想要生成和保存图像所花费的总时间。