2017-11-14 12 views
0

Highchartをエクスポートしようとしています。私はハイチャートをFacebook上の画像として共有したいので、Facebookとして画像として投稿するハイチャートリンクを生成しようとしています。私のコードは次のとおりです。Highchart Export

<script type="text/javascript"> 
    function createURL(activeTab){ 
var obj = {}; 
    var chart; 

chart = $(activeTab).highcharts(); 
obj.svg = chart.getSVG(); 
obj.type = 'image/png'; 
obj.width = 450; 
obj.async = true; 


$.ajax({ 
    type: 'post', 
    url: chart.options.exporting.url, 
    data: obj, 
    success: function (data) { 
     var exportUrl = this.url; 
     urlToExport = exportUrl+data; 
     FB.ui(
     { 
     method: 'feed', 
     name: 'This is the content of the "name" field.', 
     link: urlToExport, 
     message: '' 
     }); 
    } 
}); 


    } 

は、私は次のエラーを取得しています:例外TypeError:チャートは

を定義されていない場合は、私が間違っているんですか?

更新 ハイチャートを取得するためのjavascript関数を作成しました。次のようにhighchartをfetchningための私のコードは次のとおりです。

function setPriceParameterAndDisplay(){ 
document.getElementById('progressbarPrice').style.display='none'; 
document.getElementById('containerPrice').style.display='block';; 
      Highcharts.chart('containerPrice', { 
    chart: { 
     type: 'area' 
    }, 
    title: { 
     text: StockHeading , 
    }, 
    subtitle: { 
     text: '<a style=\"color:blue;\" href=\"https://www.alphavantage.co\">Source: Alpha Vantage</a>' 
    }, 
    xAxis: { 
     categories: XAxisData, 
      minTickInterval: 6, 

    showLastLabel: true, 

    }, 
    yAxis: [{ 
     title: { 
      text: 'Stock Price', 
     }, 
     tickInterval: 5, 
     min:null, 


     },{ 
     title: { 
      text: 'Volume ' 
     }, 
     labels: { 
      format: '{value}m', 
     }, 
     opposite:true, 
     tickInterval: 50, 
     min:0, 

    }], 
    plotOptions: { 
    area:{ 
    threshold:null,}, 
    label: { 
    enabled: false, 
}, 
     line: { 

      enableMouseTracking: true 
     }, 
     series: { 
     marker: { 
       enabled: false 
      },} 
    }, 

    series: [{ 
     name: symbol, 
     label: { 
    enabled: false, 
}, 
     type: 'area', 
     color: '#F66464', 
     data: PriceData, 
     tooltip: { 
       valueDecimals: 2 
      } 

    }, { 
     name: symbol + ' Volume' , 
     label: { 
    enabled: false, 
}, 
     type: 'column', 
     color: '#FFFFFF', 
     yAxis: 1, 
     data: StockVolume, 
     tooltip: { 
       valueDecimals: 2 
      } 


    }] 
});}; 
+0

の内側に、このコードを試してみてください、あなたは適切にjQueryを介して、あなたのチャートを取得したことがありますか?この行の後の 'chart'変数の内容は何ですか?' chart = $(activeTab).highcharts(); '? –

+0

はい、jQueryを使用してグラフを取得しました。コンソールでは、chart = $(activeTab).highcharts();の後にチャートが未定義であると表示されます。 – user45437

+0

これは、正しくフェッチしないことを意味します。チャートのコンテナのHTMLコードを共有してください。 –

答えて

0
try { 
    if (Highcharts.getOptions().exporting) { 
     let contextButton = Highcharts.getOptions().exporting.buttons.contextButton; 

     contextButton.menuItems = contextButton.menuItems.filter((item) => { 
      console.log(item) 
      return item.textKey === 'downloadCSV' || item.textKey === 'downloadPNG'; 
     }); 
    } 

} catch (e) { 
    console.log(e) 
} 

はあなたの関数

+0

私はあなたが実際に行ったこととあなたのコードが何をしているかについての詳細は、質問した人にとって有益だろうと思います。 – Teasel