图表.js不适用于Facebook应用程序

Chart.js not working on facebook app

本文关键字:Facebook 应用程序 适用于 不适用 js 图表      更新时间:2023-09-26

>我正在实现一个Facebook应用程序。我在这个应用程序内使用图表.js显示图形。问题是,当我在Web浏览器上测试应用程序时,框架已正确嵌入,但是当我在Facebook内部尝试时,我会收到以下消息:

"Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "default-src 'self'"

图表.js初始化:

MpM.initializeActions = function() {
    $("<canvas id='mycanv' width='700' height='400' />").appendTo($(".vote-poll-content"));
    MpM.initializeCharts();

MpM.initializeCharts = function() {
    var ctx = $("#mycanv").get(0).getContext("2d");
    var answer_labels = [];
    var answer_percentage = [];
    var data = {labels:[10,23,12,],datasets:[
                                                {
                                                        label           :   "My First dataset",
                                                        fillColor       :   "rgba(220,220,220,0.5)",
                                                        strokeColor     :   "rgba(220,220,220,0.8)",
                                                        highlightFill   :   "rgba(220,220,220,0.75)",
                                                        highlightStroke :   "rgba(220,220,220,1)",
                                                        data            :   [10,23,21,23]
                                                 },
                                              ]
               };
    var myBarChart = new Chart(ctx).Bar(data, {barValueSpacing : 25});
};
});

您可能只需要设置内容安全策略,以允许来自 HTTP 标头中的 Facebook 应用程序 URL 的脚本

Content-Security-Policy: script-src 'self' https://yourfacebookappurl.com

内容安全策略