ここでは、ボタンのクリックで 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つのフュージョンチャートがあり、関数FC_Exportedが3回実行されるため、pptのプロンプトが3回表示されることです。1回だけ発生させたいのですが、時間パラメーターを使用しているため、pptコードの配置を変更できないと思います.誰かが私を案内してくれますか? あなたの応答を待っています。ありがとうございます。
注: タイマーの停止機能を他の場所に配置することはできません。これは、画像の生成と保存にかかる合計時間が必要だからです。