javascript - 在 JS 中完全附加并加载脚本后执行操作
问题描述
function loadZendeskWidget() {
const script = document.createElement('script')
script.type = 'text/javascript'
script.async = true
script.src = '//v2.zopim.com/?key'
document.body.appendChild(script)
}
当 onClick 动作发生时,我将我的脚本附加到 HTML 中,然后据我所知,这个脚本的加载发生了。是否有任何可能的方法来获取有关此脚本何时加载并附加到窗口的信息。在我的案例逻辑下:
- 用户点击按钮打开聊天
- 我们在正文中附加聊天,然后加载聊天并将
window.$zopim
值附加到窗口对象。然后我想做window.$zopim.livechat.window.show()
我试过了 :
script.onload = function () { window.$zopim.livechat.window.show() }
但它不起作用。
解决方案
SDK 允许 onload 回调
$zopim(function(){
// Custom code here
});
例如
$zopim(function(){
$zopim.livechat.window.show()
});
推荐阅读
- reactjs - (React/Redux) 在一个已解决的 Promise 之后调度 2 个动作
- arrays - nodejs中的聚合导致嵌套的json,我可以在没有嵌套的情况下获取它,只从所有集合中获取一个数据_id
- rundeck - 使用 rundeck cli (aka rd) 时的身份验证错误
- python - 根据外部条件更改数据框模型
- c++ - 如果c ++中没有赋值运算符,转换构造函数是否会创建一个对象并销毁它?
- python - Python正则表达式,匹配字符串和接下来的多行
- android - 多个屏幕在一个用于 android 和 firebase 的滑块视图中
- mpi - 使用 MPI 并行化 Minimax 与 alpha-beta 剪枝
- python-3.x - 无法删除 AWS 角色策略 - 使用 Boto3 的 NoSuchEntity
- laravel - 这是一对多多态雄辩的有效用例吗?