Pdf 为什么在导出海图时会出现空引用错误?

Pdf 为什么在导出海图时会出现空引用错误?,pdf,highcharts,export,jpeg,Pdf,Highcharts,Export,Jpeg,这个错误意味着什么?当我下载到highcharts、pdf、image中的任何格式时发生。以前有人遇到过这种情况吗 Unhandled exception at line 41, column 33 in http://localhost/scripts/customEvents.js 0x800a138f - JavaScript runtime error: Unable to get property 'on'

这个错误意味着什么?当我下载到highcharts、pdf、image中的任何格式时发生。以前有人遇到过这种情况吗

Unhandled exception at line 41, column 33
   in http://localhost/scripts/customEvents.js
0x800a138f - JavaScript runtime error: Unable to get property 'on'
                                       of undefined or null reference
这是我的脚本

<%--ADD high chart css and js here.--%>
<script type="text/javascript" src="scripts/highcharts.js"></script>    
<script type="text/javascript" src="scripts/exporting.js"></script>
<script type="text/javascript" src="scripts/data.js"></script>     
<script type="text/javascript" src="scripts/customEvents.js"></script>           
<link rel="stylesheet" type="text/css" href="css/iestyle.css">

我尝试了不同的导出方法,但都指向同一个错误。如何修复此问题

回到highcharts中最基本的代码和演示后,发现customEvents.js中触发了“下载”按钮的单击事件,而不是Export.js。在我删除了对customEvents.js的引用之后,下载按钮再次起作用。然而,这不是一个解决方案,因为我的鼠标盖也需要customEvents,因此,这是highcharts customEvents插件的一个bug


$(函数(){
变量类别YMGS={
“香蕉”:39岁女性非吸烟者-职业一级+
'果酱(2周等待)$80000$152'+
'水果(等待2周)-$100'+
“CandyNil超额143美元”+
“
盒子$120”+ “总保费(每月)$515”+”; 打破 } }, mouseout:函数(){ document.getElementById('hoverboard').style.display=“无”; $('#悬停板').html(''); } }, } }, 链接到:0, 类别:[‘香蕉’、‘水果’、‘橘子’、‘苹果’、‘椰子’], 亚克斯:{ 分:0,, 标题:{ 文本:“” }, 标签:{ 格式化程序:函数(){ 返回“$”+this.value; } }, 堆叠标签:{ 启用:对, 风格:{ fontWeight:'粗体', 颜色:(Highcharts.theme&&Highcharts.theme.textColor)| |“黑色”, }, 格式化程序:函数(){ 总计[i++]=此总数; 返回“”; }, } }, 图例:{ 对齐:“右”, x:-70, 垂直排列:“顶部”, y:20, 浮动:是的, 背景色:(Highcharts.theme&&Highcharts.theme.legendBackgroundColorSolid)| |白色, 边框颜色:“#CCC”, 边框宽度:1, 影子:错 }, 工具提示:{ 格式化程序:函数(){ 返回this.series.name+'、'+this.x+'、'+'$'+this.y+'
'; } }, 打印选项:{ 专栏:{ 堆叠:“正常”, 边框宽度:0, 数据标签:{ 启用:对, 颜色:(Highcharts.theme&&Highcharts.theme.dataLabelsColor)| |“黑色”, 风格:{ textShadow:'0 0 3px黑色,0 0 3px黑色' }, 格式:“${y}” } } }, 系列:[{ 名称:“果酱”, y:“$”+this.value, 数据:[200.1229045.78,71120], 颜色:“#B9B6BA”, }, { 名称:'水果', 数据:[150186.76150200100], 颜色:“#E5764C” }, { 名字:'糖果', 数据:[89400,空,212,152], 颜色:“#9D8365” }, { 名称:“盒子”, 数据:[75.43210.23143.50219143], 颜色:“#9F7AC3” } ] }); });
然后在github上报告错误,并在您的答案中在此处发布参考。通过Highcharts修复的错误!:)只是想知道,上面所有的脚本都是highcharts插件吗?这意味着它的使用非常简单,只需包含正确的脚本,就可以开箱即用。这对像我这样还没学会高分的人来说是个好消息。
<script src="http://code.highcharts.com/highcharts.js"></script>
    <script src="http://code.highcharts.com/modules/data.js"></script>
    <script src="http://code.highcharts.com/modules/exporting.js"></script>      
      <script src="http://blacklabel.github.io/custom_events/customEvents.js"></script>
    <script type="text/javascript">
        $(function () {

            var categoryImgs = {
                'Banana': '<img src="/images/2.png"><img>&nbsp;',
                'Orange': '<img src="/images/8.png"><img>&nbsp;',
                'Fruit': '<img src="/images/12.png"><img>&nbsp;',
                'Apple': '<img src="/images/4.png"><img>&nbsp;',
                'Coconut': '<img src="/images/3.png"><img>&nbsp;'
            };

            var totals = new Array();
            var stackTotals = new Array();
            var i = 5, j = 0;
            //totals = HighchartsAdapter
            function reverse() {
                totals.reverse();
            }

            $('#container').highcharts({
                chart: {
                    type: 'column'
                },

                title: {
                    text: 'Premium Summary'
                },

                xAxis: {
                    categories: ['Banana', 'Fruit', 'Orange', 'Apple', 'Coconut'],
                    labels: {
                        x: 5,
                        useHTML: true,

                        formatter: function () {

                            var n = totals.shift();
                            return '<div class="stacktotal">$' + n + '</div><div id="div1" class="myToolTip' + this.value + '">' + categoryImgs[this.value] + '</div>';
                        },
                        events: {
                            mouseover: function (e) {
                                var elm = e.currentTarget.children.div1.className;

                                switch (elm) {
                                    case "myToolTipBanana":
                                        document.getElementById('hoverboard').style.display = "block";
                                        $('#hoverboard').html('<img style="padding-left:7px; padding-bottom: 30px" src="/images/2.png"><img>&nbsp;<div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
                                            '<tr><td><b>Jam</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>$80,000</td><td class="pad">$89</td></tr>' +
                                            '<tr><td><b>Fruit</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>-</td><td class="pad">$150</td></tr>' +
                                            '<tr><td><b>Candy</b></td><td>Nil Excess</td><td class="pad">$150</td></tr>' +
                                            '<tr><td colspan="3" class="pad" ><hr /></td></tr><tr><td><span id="policy">Boxes</span></td><td></td><td class="pad">$200.12</td></tr>' +
                                            '<tr bgcolor="#EDF7F7"><td style="font-size:14px;"><b>Total Premium (Monthly)</b></td><td></td><td class="pad"><b>$514.55<b></td></tr>' + '</table>');
                                        break;
                                    case "myToolTipFruit":
                                        document.getElementById('hoverboard').style.display = "block";
                                        $('#hoverboard').html('<img style="padding-left:7px; padding-bottom: 30px" src="/images/8.png"><img>&nbsp;<div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
                                           '<tr><td><b>Jam</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>$80,000</td><td class="pad">$400</td></tr>' +
                                           '<tr><td><b>Fruit</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>-</td><td class="pad">$186.76</td></tr>' +
                                           '<tr><td><b>Candy</b></td><td>Nil Excess</td><td class="pad">$210.23</td></tr>' +
                                           '<tr><td colspan="3" class="pad" ><hr /></td></tr><tr><td><span id="policy">Boxes</span></td><td></td><td class="pad">$290</td></tr>' +
                                           '<tr bgcolor="#EDF7F7"><td style="font-size:14px;"><b>Total Premium (Monthly)</b></td><td></td><td class="pad"><b>$1086.99<b></td></tr>' + '</table>');
                                        break;
                                    case "myToolTipOrange":
                                        document.getElementById('hoverboard').style.display = "block";
                                        $('#hoverboard').html('<img style="padding-left:7px; padding-bottom: 30px" src="/images/12.png"><img>&nbsp;<div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
                                          '<tr><td><b>Jam</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>$80,000</td><td class="pad">$258.13</td></tr>' +
                                          '<tr><td><b>Fruit</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>-</td><td class="pad">$150</td></tr>' +
                                          '<tr><td><b>Candy</b></td><td>Nil Excess</td><td class="pad">$143.50</td></tr>' +
                                          '<tr><td colspan="3" class="pad" ><hr /></td></tr><tr><td><span id="policy">Boxes</span></td><td></td><td class="pad">$45.78</td></tr>' +
                                          '<tr bgcolor="#EDF7F7"><td style="font-size:14px;"><b>Total Premium (Monthly)</b></td><td></td><td class="pad"><b>$597.41<b></td></tr>' + '</table>');
                                        break;
                                    case "myToolTipApple":
                                        document.getElementById('hoverboard').style.display = "block";
                                        $('#hoverboard').html('<img style="padding-left:7px; padding-bottom: 30px" src="/images/3.png"><img>&nbsp;<div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
                                          '<tr><td><b>Jam</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>$80,000</td><td class="pad">$212</td></tr>' +
                                          '<tr><td><b>Fruit</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>-</td><td class="pad">$200</td></tr>' +
                                          '<tr><td><b>Candy</b></td><td>Nil Excess</td><td class="pad">$219</td></tr>' +
                                          '<tr><td colspan="3" class="pad" ><hr /></td></tr><tr><td><span id="policy">Boxes</span></td><td></td><td class="pad">$71</td></tr>' +
                                          '<tr bgcolor="#EDF7F7"><td style="font-size:14px;"><b>Total Premium (Monthly)</b></td><td></td><td class="pad"><b>$702<b></td></tr>' + '</table>');
                                        break;
                                    case "myToolTipCoconut":
                                        document.getElementById('hoverboard').style.display = "block";
                                        $('#hoverboard').html('<img style="padding-left:7px; padding-bottom: 30px" src="/images/4.png"><img>&nbsp;<div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
                                          '<tr><td><b>Jam</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>$80,000</td><td class="pad">$152</td></tr>' +
                                          '<tr><td><b>Fruit</b><span id="italics">&nbsp;&nbsp;(2 Week wait)</td><td>-</td><td class="pad">$100</td></tr>' +
                                          '<tr><td><b>Candy</b></td><td>Nil Excess</td><td class="pad">$143</td></tr>' +
                                          '<tr><td colspan="3" class="pad" ><hr /></td></tr><tr><td><span id="policy">Boxes</span></td><td></td><td class="pad">$120</td></tr>' +
                                          '<tr bgcolor="#EDF7F7"><td style="font-size:14px;"><b>Total Premium (Monthly)</b></td><td></td><td class="pad"><b>$515<b></td></tr>' + '</table>');
                                        break;
                                }
                            },
                            mouseout: function () {
                                document.getElementById('hoverboard').style.display = "none";
                                $('#hoverboard').html('');
                            }
                        },
                    }
                },

                linkedTo: 0,
                categories: ['Banana', 'Fruit', 'Orange', 'Apple', 'Coconut'],

                yAxis: {
                    min: 0,
                    title: {
                        text: ''
                    },
                    labels: {
                        formatter: function () {
                            return '$' + this.value;
                        }
                    },
                    stackLabels: {
                        enabled: true,
                        style: {
                            fontWeight: 'bold',
                            color: (Highcharts.theme && Highcharts.theme.textColor) || 'black',
                        },
                        formatter: function () {
                            totals[i++] = this.total;
                            return '';
                        },

                    }                    
                },

                legend: {
                    align: 'right',
                    x: -70,
                    verticalAlign: 'top',
                    y: 20,
                    floating: true,
                    backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColorSolid) || 'white',
                    borderColor: '#CCC',
                    borderWidth: 1,
                    shadow: false
                },
                tooltip: {
                    formatter: function () {
                        return this.series.name + ', ' + this.x  + ', ' +' $'+ this.y + '<br/>';
                    }
                },
                plotOptions: {
                    column: {
                        stacking: 'normal',
                        borderWidth:0,
                        dataLabels: {
                            enabled: true,
                            color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'black',
                            style: {
                                textShadow: '0 0 3px black, 0 0 3px black'
                            },
                            format: '${y}'
                        }                        
                    }

                },

                series: [{
                    name: 'Jam',
                    y:'$' + this.value,
                    data: [200.12, 290, 45.78, 71, 120],
                    color: '#B9B6BA',
                }, {
                    name: 'Fruit',
                    data: [150, 186.76, 150, 200, 100],
                    color: '#E5764C'
                }, {
                    name: 'Candy',
                    data: [89,400, null , 212, 152],
                    color: '#9D8365'
                }, {
                    name: 'Boxes',
                    data: [75.43, 210.23, 143.50, 219, 143],
                    color: '#9F7AC3'
                } ]

            });           

        });
        </script>