Pdf 为什么在导出海图时会出现空引用错误?
这个错误意味着什么?当我下载到highcharts、pdf、image中的任何格式时发生。以前有人遇到过这种情况吗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'
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> ',
'Orange': '<img src="/images/8.png"><img> ',
'Fruit': '<img src="/images/12.png"><img> ',
'Apple': '<img src="/images/4.png"><img> ',
'Coconut': '<img src="/images/3.png"><img> '
};
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> <div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
'<tr><td><b>Jam</b><span id="italics"> (2 Week wait)</td><td>$80,000</td><td class="pad">$89</td></tr>' +
'<tr><td><b>Fruit</b><span id="italics"> (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> <div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
'<tr><td><b>Jam</b><span id="italics"> (2 Week wait)</td><td>$80,000</td><td class="pad">$400</td></tr>' +
'<tr><td><b>Fruit</b><span id="italics"> (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> <div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
'<tr><td><b>Jam</b><span id="italics"> (2 Week wait)</td><td>$80,000</td><td class="pad">$258.13</td></tr>' +
'<tr><td><b>Fruit</b><span id="italics"> (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> <div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
'<tr><td><b>Jam</b><span id="italics"> (2 Week wait)</td><td>$80,000</td><td class="pad">$212</td></tr>' +
'<tr><td><b>Fruit</b><span id="italics"> (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> <div class="desc">39 year old female non smoker - Occupation Class 1</div><table>' +
'<tr><td><b>Jam</b><span id="italics"> (2 Week wait)</td><td>$80,000</td><td class="pad">$152</td></tr>' +
'<tr><td><b>Fruit</b><span id="italics"> (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>