Не удается экспортировать диаграмму слияния с «Внедрение диаграмм с использованием тегов ‹OBJECT›/‹EMBED›»

Я пытаюсь экспортировать диаграмму слияния, созданную с помощью «Встраивания диаграмм с использованием / тегов».

Экспорт работает просто идеально, если щелкнуть правой кнопкой мыши (на графике) и выбрать PDF для экспорта. Но я не могу сделать эту работу через javascript. У меня есть кнопка вне диаграммы, которая при нажатии вызывает функцию ниже

function myexport()
{
 var cObject = getChartFromId('Column3D');
        if( cObject.hasRendered() ) cObject.exportChart({exportFormat: 'PDF'});
}

возвращенный выше объект является нулевым, и это не удается на следующей строке

вот полный прототип

<html>
 <head>
<title>My Chart</title>
<script type="text/javascript" src="fusionCharts.debug.js"></script>
<script type="text/javascript" src="fusionChartsExportComponent.js"></script>
<script type="text/javascript">
    function ExportMyChart() {
        var cObject = getChartFromId('Column3D');
        if( cObject.hasRendered() ) cObject.exportChart({exportFormat: 'PDF'});
 }
</script>
  </head>
  <body>
     <object width="400" height="400" id="Column3D" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"    codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" >         
<param name="testname" value="Column3D.swf" />         
<param name="FlashVars" value="&dataURL=testData.xml&chartWidth=400&chartHeight=300&DOMId=myChart1&registerWithJS=1&debugMode=0">
<param name="quality" value="high" />         
<embed src="Column3D.swf" 
    flashVars="&dataURL=testData.xml&chartWidth=400&chartHeight=300&DOMId=myChart1&registerWithJS=1&debugMode=0"
    width="400" height="300" name="Column3D" quality="high" type="application/x-shockwave-flash"    pluginspage="http://www.macromedia.com/go/getflashplayer" />      
</object>

<!-- We also create a DIV to contain the FusionCharts client-side exporter component -->
<div id="holderDiv" align="center">FusionCharts Export Handler Component</div>
<script type="text/javascript">

 var myExportComponent = new FusionChartsExportObject("testExporter1", "FCExporter.swf");

//Render the exporter SWF in our DIV fcexpDiv
myExportComponent.Render("holderDiv");
</script>
<input type="button" value="Export My Chart" onclick="ExportMyChart()" />


person zoom_pat277    schedule 28.12.2010    source источник


Ответы (2)


нашел ответ на этот вопрос на форуме fusion charts. Похоже, есть проблема с экспортом, когда в браузере для диаграммы используются и тег embed, и тег объекта.

Обходной путь для этого был объяснен здесь

person zoom_pat277    schedule 30.12.2010

Пожалуйста, найдите измененный код ниже:

Моя диаграмма

function ExportMyChart() { var cObject = document.getElementById('Column3D'); if( cObject.hasRendered && cObject.hasRendered()) cObject.exportChart({exportFormat: 'PDF'}); }

FusionCharts Export Handler Component var myExportComponent = new FusionChartsExportObject("fcExporter1", "../../FusionCharts/FCExporter.swf"); myExportComponent.Render("holderDiv");

Надеюсь это поможет.

person Angie    schedule 06.01.2011