修改对象属性,然后在javascript自定义函数中调用函数

Changing an object properties then calling a function inside a custom function with javascript

本文关键字:自定义函数 调用 函数 javascript 对象 属性 然后 修改      更新时间:2023-09-26

标题可能有点乱。基本上,我要做的是创建一个自定义函数,它将修改对象属性,然后返回该对象,然后调用函数。

关于我正在做的事情的一点背景:尽我所能使用Zendesk API在我的网页上使用web小部件。基本上,这个web小部件在启动时被配置为帮助中心,然后根据状态显示一个用于实时聊天或电子邮件的按钮。这里讨论的主要属性被称为"suppress",它禁用一个小部件页面(聊天,电子邮件和;helpCenter)。我的目标是使自定义功能"抑制"3个小部件页面中的2个,因此它只显示一个。然后,一个名为zE.activate()的API函数将打开小部件。

我知道这有很多文本,让我给你看看目前为止我得到的代码:

<script>
function setChatPopOutProps(window) {
    window.zESettings = {
        webWidget: {
            contactForm: {
                suppress: true
            },
            helpCenter: {
                suppress: true
            }
        }
    };
    return window.zESettings;
};
function chatPopOut() {
    setChatPopOutProps(window);
    zE.activate();
};
</script>

现在当我点击有chatPopOut()分配的按钮时,zE.activate()工作,因为它打开了小部件,但基本上setChatPopOutProps(window)似乎没有工作。

我还尝试了以下操作:

  • 不返回windowwindow.zESettings
  • 通过将zE.activate()放在zESettings的末尾或返回windowwindow.zESettings之后,将所有内容放在单个函数下

如果你需要看看这个小部件的运行情况来产生一个想法,你可以在这里看到它。单击右下角的绿色按钮,输入任何内容,您将看到联系人表单按钮弹出。当有实时聊天代理可用时,此按钮将更改为聊天按钮。

现在我知道这是我通常应该直接用Zendesk解决的问题,我试过了,但他们告诉我没有什么可以做我想要完成的事情,但我真的觉得这与我在javascript中做事的方式有关,而不是API的构建方式。

有人有什么想法吗?我真的很感激。

注:这是我的第二篇文章,所以我提前为我在这个问题上可能犯的错误道歉。

可悲的是,事实证明你想要完成的事情是不可能的。作为zE。当小部件首次初始化时应用设置,因此如果不执行刷新页面和重新初始化小部件等操作,就无法动态更改小部件设置。就我从你的代码中看到的,我不认为你想要每次刷新页面,并重新初始化小部件只是为了应用你上面列出的那些设置。