2015-11-06 90 views
0

我有一個問題在這裏討論:取消打印後的頁面不會調整圖表大小。highcharts:打印後打電話的方式

https://github.com/highslide-software/highcharts.com/issues/1093

我希望再現那裏提到的解決方案。基本上,解決的辦法是設置在Highcharts全局選項如下:

Highcharts.setOptions({ 
     chart: { 
      events: { 
       afterPrint: function() { 
        alert('called'); 
        Highcharts.charts.forEach(function (chart) { 
         if (chart !== undefined) { 
          chart.reflow(); 
         } 
        }); 
       } 
      } 
     } 
    }); 

在我的情況下,頁面的工作原理如下:

  1. 加載頁面
  2. 開始一個Ajax調用來檢索數據並繪製四個圖表。

我試圖在頁面加載或ajax調用後使用上述解決方案。但是,打印之後從未被調用過。請注意,我把「alert('叫'')」放在那裏來證明它。

什麼是添加全局afterPrint的正確方法?

問候。

回答

1

我現在開始工作了。我使用的版本是4.0.4,afterPrint無法按預期工作。現在我正在使用最新版本4.1.9,並且afterPrint按預期工作,而我的方面沒有任何代碼更改。

我在頁面加載時調用全局設置。

希望這會有所幫助。

0

我這麼做是更簡單的方法在我的腳本中加入以下

Highcharts.setOptions({ 
     chart: { 
      events: { 
       afterPrint: function() { 
        jQuery(window).resize() 
       } 
      } 
     } 
    });