Highcharts error #16: www.highcharts.com/errors/16 js 单例
Posted on 2019-06-02 17:07 和风细雨汪汪 阅读(1245) 评论(0) 编辑 收藏 举报
一、问题
项目某一个页面用的highcharts用来显示一张图表,第一次刷新正常,第二次就出来这个错。
1
二、解决问题过程
在网上找了很多同样是这个错误的解决方案。
第一:加载了highstock.js然后又加载了highcharts.js 重复加载了,如果你正在组合图表和stockchart,你只需要加载highstock.js文件。然而,正在做的项目中并不是重复加载了两个文件的问题,只是加载了一个highcharts.js。
第二:把引在二级页面单页面中的highchartsjs文件换到了主页面引用。这个好多网友都说可以解决,在项目中试了一次,还是不能解决。
最后:就开始看问题的根本。一个网友提供的答案:多次加载二级页面时造成highcharts的多次加载造成的命名空间的占用(链接:http://www.cnblogs.com/guzhouyuanying/p/6340220.html)。
三、解决方法
在这个二级页面,只让highcharts.js这个js文件加载一次,做一个单例。
<script type="text/javascript"> //单例模式引入highcharts if (!$.fn.highcharts) { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "${pageContext.request.contextPath }/common/js/Highcharts-4.2.3/js/highcharts.js"; document.body.appendChild(script); } </script>
善于将复杂问题简单化