如何在Angular中的运行时添加Freshdesk小部件?

如何在Angular中的运行时添加Freshdesk小部件?,angular,freshdesk,Angular,Freshdesk,我正在使用Angular 9,并试图将Freshdesk小部件添加到我的应用程序中。该小部件的代码段如下所示: <script> window.fwSettings={ 'widget_id': <MY PERSONAL ID>, 'locale': 'en' }; !function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments

我正在使用Angular 9,并试图将Freshdesk小部件添加到我的应用程序中。该小部件的代码段如下所示:

<script>
window.fwSettings={
'widget_id': <MY PERSONAL ID>,
'locale': 'en'
};
!function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}() 

window.fwSettings={
“widget_id”:,
“locale”:“en”
};
!function(){if(“function”!=typeof window.FreshworksWidget){var n=function(){n.q.push(参数)};n.q=[],window.FreshworksWidget=n}()
如果我将代码段直接添加到我的
index.html
文件中,它可以正常工作,但我希望能够通过编程将
locale
属性设置为当前用户选择的任何语言

这意味着这个代码段需要在运行时添加,但我不知道如何在Angular中添加它


有什么想法吗?

我解决了。在我的
app.component.ts
中,我在加载我的应用程序区域设置后将代码片段放入函数中:

loadFreshDesk(locale): void {
   window.fwSettings = {
      widget_id: MY_WIDGET_ID,
      locale: MY_FRESH_DESK_LOCALE,
    };

    !(function () {
      if ('function' !== typeof window.FreshworksWidget) {
        const n = function () {
          n.q.push(arguments);
        };
        (n.q = []), (window.FreshworksWidget = n);
      }
    })();
    const script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://widget.freshworks.com/widgets/MY_WIDGET_ID.js';
    document.getElementsByTagName('head')[0].appendChild(script);
}

您可能会在Freshdesk获得更多帮助。这是错误的,您不能像这样将此代码添加到.ts文件中。另外,如何显示小部件?有npm包可用于此。