【发布时间】:2014-11-21 07:21:58
【问题描述】:
我有一个母版页,它使用 jquery.load 调用其他网页,例如
$("#loading").show();
$("#arena").load('Project.prx?PID=' + dataReport);
$("#loading").hide();
(Project.prx 是一种内部 CGI 语言,如 ColdFusion,它输出 HTML 和 JavaScript。)
在浏览器调试器中,每次单击链接时都会收到如下错误消息,即
Uncaught Highcharts error #16: www.highcharts.com/errors/16
Highcharts 网站提到了这个错误:
Highcharts 错误 #16
页面中已经定义了Highcharts
此错误在第二次在同一页面中加载 Highcharts 或 Highstock 时发生,因此已经定义了 Highcharts 命名空间。请记住,Highcharts.Chart 的构造函数和 Highcharts 的所有功能都包含在 Highstock 中,因此如果您将 Chart 和 StockChart 组合运行,则只需加载 highstock.js 文件即可。
当我使用 jquery 的 load() 并在当前文档中定位一个 div 时,Highcharts 声称我正在加载命名空间的第二个实例是合理的要求。不过,这就是我想做的。
那么知道如何使用现有的 Highcharts 命名空间实例将其他 Highcharts 页面加载到一个页面中吗?
稍后
我已经取得了一些成功,没有将 highcharts 放在控制器中,而只放在目标中并发布
$("#loading").show();
$("#arena").empty();
delete(Highcharts);
$("#arena").load('Project.prx?PID=' + dataReport);
$("#loading").hide();
然而,这并非在所有情况下都成功。
【问题讨论】:
-
问题不在于您正在加载两个图表,而是两个 highcharts 代码......我要做的是从 Project.prx 中删除脚本标签以避免这种情况。如果您需要在页面上单独显示 Project.prx,则仅在请求不是 AJAX 调用时添加脚本标记...
标签: javascript jquery highcharts