标题可能有点乱。基本上我要做的是创建一个自定义函数,该函数将修改对象属性,然后返回该对象,然后调用一个函数。
关于我正在做的事情的一点背景:尽我所能使用 Zendesk API 在我的网页上使用 Web 小部件。基本上,这个 Web 小部件被配置为启动时的帮助中心,然后根据状态显示一个用于实时聊天或电子邮件的按钮。这里有问题的主要属性称为“抑制”,它禁用小部件页面之一(聊天、电子邮件和帮助中心)。我的目标是让自定义功能“抑制”3 个小部件页面中的 2 个,因此它只显示一个。然后调用的 API 函数zE.activate()
将打开小部件。
我知道这是很多文字,让我向您展示我到目前为止的代码:
<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)
似乎不起作用。
我还尝试了以下方法:
- 不返回
window
或window.zESettings
zE.activate()
通过将所有内容放在返回的末尾zESettings
或之后,将所有内容放在一个函数下,window
或者window.zESettings
如果您需要查看实际中的小部件以获得想法,您可以在此处查看。单击右下角的绿色按钮,输入任何内容,您会看到弹出联系表单按钮。当实时聊天代理可用时,此按钮会更改为聊天按钮。
现在我知道这是我通常应该直接使用 Zendesk 解决的问题,我尝试过,但他们告诉我没有什么可以做我想要完成的事情,但我真的觉得这与我在 javascript 中做事的方式,而不是 API 的构建方式..
有人有想法吗?我真的很感激。
PS这是我的第二篇文章,所以我提前为我在这个问题中可能犯的错误道歉。