Magento:TypeError:N不是函数

时间:2014-09-23 15:27:16

标签: javascript magento highcharts

我正在尝试向magento添加highcharts,但我收到了以下错误

TypeError: N is not a function (highcharts.js line 192)

我的local.xml

<adminhtml_mymodule_show>
    <reference name="head">
        <action method="addJs"><file>mymodule/js/highcharts.js</file></action>
        <action method="addJs"><file>mymodule/js/my_charts.js</file></action>
    </reference>
</adminhtml_mymodule_show>

my_charts.js

document.observe("dom:loaded", function() {
    var chart = new Highcharts.Chart({

        chart: {
            renderTo: 'container',
            type: 'bar'
        },
        title: {
            text: 'Fruit Consumption'
        },
        xAxis: {
            categories: ['Apples', 'Bananas', 'Oranges']
        },
        yAxis: {
            title: {
                text: 'Fruit eaten'
            }
        },
        series: [{
            name: 'Jane',
            data: [1, 0, 4]},
            {
                name: 'John',
                data: [5, 7, 3]}]
    });
});

我的观看文件

<div class="entry-edit">
    <div class="entry-edit-head">
        <h4 class="icon-head head-customer-view">
            <?php echo $this->__('Test header') ?></h4>
    </div>
    <h1><?php echo $this->test; ?></h1>

    <div id="container" style="width:100%; height:400px;"></div>
</div>

我检查了Firebug,这些文件被添加到head标签内。我也试过添加prototype-adapter.js或使用独立框架,但它没有用 - 我每次都会从标题中得到错误。

我使用的是magento 1.9和highcharts 4.0.4。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

Javascript在highchart.js中无法识别N.可能有外部js需要与highchart.js一起加载。

确保在highchart.js之前加载jQuery。