修改对象属性,然后在javascript自定义函数中调用函数
Changing an object properties then calling a function inside a custom function with javascript
标题可能有点乱。基本上,我要做的是创建一个自定义函数,它将修改对象属性,然后返回该对象,然后调用函数。
关于我正在做的事情的一点背景:尽我所能使用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)
似乎没有工作。
我还尝试了以下操作:
- 不返回
window
或window.zESettings
- 通过将
zE.activate()
放在zESettings
的末尾或返回window
或window.zESettings
之后,将所有内容放在单个函数下
如果你需要看看这个小部件的运行情况来产生一个想法,你可以在这里看到它。单击右下角的绿色按钮,输入任何内容,您将看到联系人表单按钮弹出。当有实时聊天代理可用时,此按钮将更改为聊天按钮。
现在我知道这是我通常应该直接用Zendesk解决的问题,我试过了,但他们告诉我没有什么可以做我想要完成的事情,但我真的觉得这与我在javascript中做事的方式有关,而不是API的构建方式。
有人有什么想法吗?我真的很感激。
注:这是我的第二篇文章,所以我提前为我在这个问题上可能犯的错误道歉。
可悲的是,事实证明你想要完成的事情是不可能的。作为zE。当小部件首次初始化时应用设置,因此如果不执行刷新页面和重新初始化小部件等操作,就无法动态更改小部件设置。就我从你的代码中看到的,我不认为你想要每次刷新页面,并重新初始化小部件只是为了应用你上面列出的那些设置。
- 具有自定义函数调用的 HTML 表单
- 使用 jQuery 对动态创建的元素调用自定义函数
- Angular2 在创建 ngSwitch 新视图后调用自定义函数
- 调用插件外部的自定义函数并传递参数
- jQuery:点击事件后调用自定义函数
- jQuery 在单击时调用自定义函数
- 自定义指令调用$scope函数会导致$rootScope:infdig
- 可能调用的自定义函数列表
- 从ext-js调用javascript自定义函数
- 从Google电子表格自定义函数进行的Ajax调用
- 从firebug控制台调用自定义函数
- 在jQuery事件处理程序中调用自定义函数
- 我没有'我不想两次调用自定义函数
- 当第三方javascript异步函数完成执行时,调用自定义函数
- 是否有一种方法可以在调用对象的未定义函数时调用自定义函数?
- 从源自标签的onclick属性的自定义函数中调用preventdefault的访问事件
- 如何在jqGrid中设置双击函数来调用自定义函数?
- 修改对象属性,然后在javascript自定义函数中调用函数
- 在java脚本中调用自定义函数而不是getfullyear()
- jqgrid中带有自定义函数调用的超链接/按钮