Chart.js 3.4.0及以上版本在Qualtrics中无法运行如何解决?
问题根源
你遇到的报错是因为Chart.js 3.4.0及以上版本正式移除了对V2版本配置语法的兼容支持:你当前代码中使用的xAxes/yAxes数组格式的坐标轴配置、根层级的legend配置都属于V2写法,3.3.2是最后一个保留该兼容逻辑的版本,所以升级后就会触发配置解析错误。
解决方法
直接将配置修改为Chart.js V3标准语法即可,修改后的完整JS代码如下:
jQuery.getScript("https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.4.0/chart.js", function(){ var xyValues = [ {x:50, y:7}, {x:60, y:8}, {x:70, y:8}, {x:80, y:9}, {x:90, y:9}, {x:100, y:9}, {x:110, y:10}, {x:120, y:11}, {x:130, y:14}, {x:140, y:14}, {x:150, y:15} ]; new Chart("myChart", { type: "scatter", data: { datasets: [{ pointRadius: 4, pointBackgroundColor: "rgb(0,0,255)", data: xyValues }] }, options: { plugins: { legend: {display: false} }, scales: { x: { min: 40, max:160 }, y: { min: 6, max:16 } } } }); });
如果修改配置后仍偶发加载失败,可以将初始化逻辑包裹在Qualtrics内置的DOM就绪回调中,确保canvas元素渲染完成后再执行初始化:
Qualtrics.SurveyEngine.addOnReady(function() { // 把上面完整的jQuery.getScript逻辑放在这里即可 });
该方法支持所有3.4.0及以上的Chart.js版本使用,无需停留在旧版本。
内容的提问来源于stack exchange,提问作者majmun
相关产品推荐
相关产品推荐

