1

Drupal 7 モジュール (Google グラフ モジュールではなく) に Google グラフ API を含めようとしています。しかし、サービスを呼び出そうとすると、次のようになります。

  • 「クリアされたスコープでコンパイル アンド ゴー スクリプトを実行しようとしました」 - Firefox のエラー。
  • 「応答を送信できませんでした: ドキュメントごとに chrome.extension.onRequest リスナーごとに複数回応答を送信できません」 - Chrome のエラー。

コードは次のとおりです。

(function ($) {

  Drupal.behaviors.exampleModule = {
    attach: function (context, settings) {
        // Load the Visualization API and the piechart package.
        google.load('visualization', '1.0', {'packages':['corechart']});
        // Set a callback to run when the Google Visualization API is loaded.
        google.setOnLoadCallback(drawChart);

        // Callback that creates and populates a data table,
        // instantiates the pie chart, passes in the data and
        // draws it.
        function drawChart() {

          // Create the data table.
          var data = new google.visualization.DataTable();
          data.addColumn('string', 'Topping');
          data.addColumn('number', 'Slices');
          data.addRows([
            ['Mushrooms', 3],
            ['Onions', 1],
            ['Olives', 1],
            ['Zucchini', 1],
            ['Pepperoni', 2]
          ]);

          // Set chart options
          var options = {'title':'How Much Pizza I Ate Last Night',
                         'width':400,
                         'height':300};

          // Instantiate and draw our chart, passing in some options.
          var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
          chart.draw(data, options);
        }
        alert("test");
    }
  };

})(jQuery);

これを機能させるにはどうすればよいですか?-ありがとう

4

1 に答える 1

0

それを私が直した:

このgoogle.load('visualization', '1.0', {'packages':['corechart']});行は、 の直後の最初に呼び出す必要があります(function ($) {。解決策は次のとおりです。

(function ($) {
    // Load the Visualization API and the piechart package.
    google.load('visualization', '1.0', {'packages':['corechart']});
  Drupal.behaviors.exampleModule = {
    attach: function (context, settings) {

        // Set a callback to run when the Google Visualization API is loaded.
        google.setOnLoadCallback(drawChart);

        // Callback that creates and populates a data table,
        // instantiates the pie chart, passes in the data and
        // draws it.
        function drawChart() {

          // Create the data table.
          var data = new google.visualization.DataTable();
          data.addColumn('string', 'Topping');
          data.addColumn('number', 'Slices');
          data.addRows([
            ['Mushrooms', 3],
            ['Onions', 1],
            ['Olives', 1],
            ['Zucchini', 1],
            ['Pepperoni', 2]
          ]);

          // Set chart options
          var options = {'title':'How Much Pizza I Ate Last Night',
                         'width':400,
                         'height':300};

          // Instantiate and draw our chart, passing in some options.
          var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
          chart.draw(data, options);
        }
        alert("test");
    }
  };

})(jQuery);
于 2012-04-12T08:13:14.743 に答える