Javascript highcharts画布工具:无法读取属性';原型&x27;未定义的

Javascript highcharts画布工具:无法读取属性';原型&x27;未定义的,javascript,ruby-on-rails,highcharts,Javascript,Ruby On Rails,Highcharts,我有一个RubyonRails应用程序,我正在尝试使用highcharts/modules/canvas-tools.js。我在这个应用程序中,highcharts文件不在其中。我对javascript了解不多,所以我甚至不确定应用程序如何使用这些资产。应该显示图表的页面没有。尝试查看图表时,我的Chrome控制台出现以下错误: Uncaught TypeError: Cannot read property 'prototype' of undefined 控制台指的是以下几行: // E

我有一个RubyonRails应用程序,我正在尝试使用highcharts/modules/canvas-tools.js。我在这个应用程序中,highcharts文件不在其中。我对javascript了解不多,所以我甚至不确定应用程序如何使用这些资产。应该显示图表的页面没有。尝试查看图表时,我的Chrome控制台出现以下错误:

Uncaught TypeError: Cannot read property 'prototype' of undefined 
控制台指的是以下几行:

// Extend CanVG renderer on demand, inherit from SVGRenderer
extend(CanVGRenderer.prototype, SVGRenderer.prototype);
在highcharts文件的末尾:

}(Highcharts));
下面是我的application.js:

//= require jquery
//= require jquery-ui-1.10.2.custom
//= require twitter/bootstrap
//= require highcharts
//= require highcharts/modules/canvas-tools
//= require highcharts/modules/exporting
//= require bootstrap-typeahead
//= require rails
//= require autocomplete-rails
//= require_tree .

$(document).ready(function()     {
    $('.dropdown-toggle').dropdown();
} );

$(document).ready(function() {
    $('.popover-myasset').popover();
});
在其他情况下,我得到一个错误,说highcharts被加载了不止一次,但我没有使用Highstock,这显然是这个错误的来源。链接到错误消息:


感谢您提供的任何建议。

有几个问题。我所做的可能并不适用于所有情况

我将highcharts require语句放在一个以我使用它的视图命名的文件夹和文件中:

app/assets/
-javascripts
--foos
---foos.js
--application.js
foos.js包含:

//= require highcharts
//= require highcharts/modules/canvas-tools
//= require highcharts/modules/exporting

我也有这个错误-

未捕获的TypeError:无法读取未定义的属性“prototype”

为了解决这个问题,我在第2931行添加了这个-

CanVGRenderer = (typeof(Highcharts.CanVGRenderer) != "undefined"
    ? Highcharts.CanVGRenderer : {},
因为extend函数(highcharts.src.js的第128行)在将变量传递给它时基本上做同样的事情

还有canvas-tools.src.js中的第2897行-

if (CanvasRenderingContext2D) 
在IE中也抛出一个错误。此部分来自于2013年5月7日更新的canvg.js,但未由highcharts更新,现在应该是-

if (typeof(CanvasRenderingContext2D) != 'undefined')
根据开发团队:

画布工具不应包含在脚本文件中。相反,Highcharts会根据需要加载它。看


Highstock包含Highcharts,因此您不必包含两次。您能提供此应用程序开发版本的链接吗?想知道您是否解决了此问题,Joe?我也遇到了此问题。还是没有解决办法?