Javascript 在React.js应用程序中使用freshdesk反馈小部件

Javascript 在React.js应用程序中使用freshdesk反馈小部件,javascript,reactjs,Javascript,Reactjs,我正在尝试在React.js应用程序中使用Freshdesk的反馈小部件。我试图在我的根组件的componentDidMount方法中初始化并显示小部件,如下所示 var App = React.createClass({ componentDidMount: function() { FreshWidget.init("", {"queryString": "&widgetType=popup", "utf8": "✓", "widgetType": "popup", "b

我正在尝试在React.js应用程序中使用Freshdesk的反馈小部件。我试图在我的根组件的
componentDidMount
方法中初始化并显示小部件,如下所示

var App = React.createClass({
  componentDidMount: function() {
    FreshWidget.init("", {"queryString": "&widgetType=popup", "utf8": "✓", "widgetType": "popup", "buttonType": "text", "buttonText": "Support", "buttonColor": "white", "buttonBg": "#006063", "alignment": "4", "offset": "235px", "formHeight": "500px", "url": "<myfreshdeskurl>"} );
    FreshWidget.show();
  }
});

您必须在FreshWidget.init选项对象中传递另一个属性:

FreshWidget.init("", {"loadOnEvent": 'immediate',...});
否则,小部件将等待已经发生的window.load

使用屏幕截图选项时,请确保等待html2canvas加载完毕,否则会出现另一个错误:

function showWhenHTML2CanvasIsAvailable() {
    if (window.html2canvas) {
        window.FreshWidget.show();
    } else {
        setTimeout(showWhenHTML2CanvasIsAvailable, 100);
    }
}

showWhenHTML2CanvasIsAvailable();

在我使用AngularJS的应用程序上收到相同的问题。
function showWhenHTML2CanvasIsAvailable() {
    if (window.html2canvas) {
        window.FreshWidget.show();
    } else {
        setTimeout(showWhenHTML2CanvasIsAvailable, 100);
    }
}

showWhenHTML2CanvasIsAvailable();