Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌分析嵌入API和谷歌图表之间的冲突_Javascript_Google Analytics_Google Visualization_Google Analytics Api - Fatal编程技术网

Javascript 谷歌分析嵌入API和谷歌图表之间的冲突

Javascript 谷歌分析嵌入API和谷歌图表之间的冲突,javascript,google-analytics,google-visualization,google-analytics-api,Javascript,Google Analytics,Google Visualization,Google Analytics Api,当我在同一页面上加载Google Analytics Embed API和Google图表时,似乎存在冲突,更具体地说,当我使用Embed API绘制图表时 更有趣的是,只有当图表的类型不同时才会出现问题,例如嵌入API:TABLE和charts:LINE 嵌入API图表首先加载并按预期工作。 第二次加载图表折线图并返回此错误: 调用draw()方法时使用了错误的数据类型,而不是DataTable或DataView 我感觉嵌入式API图表覆盖了这个函数: google.charts.load('

当我在同一页面上加载Google Analytics Embed API和Google图表时,似乎存在冲突,更具体地说,当我使用Embed API绘制图表时

更有趣的是,只有当图表的类型不同时才会出现问题,例如嵌入API:TABLE和charts:LINE

嵌入API图表首先加载并按预期工作。 第二次加载图表折线图并返回此错误:

调用draw()方法时使用了错误的数据类型,而不是DataTable或DataView

我感觉嵌入式API图表覆盖了这个函数:

google.charts.load('current', {
    packages: ['corechart', 'line', 'table']
});

更新


此问题的答案:建议删除对
http://www.google.com/jsapi
,但是Google嵌入API图表停止工作,因为不再定义
window.Google.load
,相反,这里有
window.google.charts.load
,这是google图表所需要的,但在嵌入API图表时似乎不起作用。

我遇到了同样的问题,并修复了脚本加载冲突。 解决方案是只包含较新的图表加载器

然后,在加载google charts api之前,运行额外的代码:


可能是重复的Nope,不能解决我的问题。
//Handles differences in load functions
google.load = google.load || google.charts.load;
google.setOnLoadCallback = google.setOnLoadCallback || google.charts.setOnLoadCallback;

//Loads the google analytics API
(function (w, d, s, g, js, fs) {
            //if ($('#googleCache').length > 0) return;
            g = w.gapi || (w.gapi = {});
            g.analytics = {
                q: [],
                ready: function (f) {
                    this.q.push(f);
                }
            };
            js = d.createElement(s);
            fs = d.getElementsByTagName(s)[0];
            js.src = 'https://apis.google.com/js/platform.js';
            js.id = "googleCache";
            fs.parentNode.insertBefore(js, fs);
            js.onload = function () {
                g.load('analytics');
            };
}(window, document, 'script'));

//Load the charts you want
google.charts.load('current', { packages: ['corechart', 'table', 'line', 'geochart'] });