前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在线客服系统源码开发实战总结:动态加载js文件实现粘贴一段js的sdk代码,直接引入插件效果

在线客服系统源码开发实战总结:动态加载js文件实现粘贴一段js的sdk代码,直接引入插件效果

作者头像
唯一Chat
发布2022-11-22 16:46:12
1.9K0
发布2022-11-22 16:46:12
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

常见的在线客服系统中,或者是统计代码中,粘贴一段js代码,就能引入某个插件的效果。这个是怎么实现的呢?

原理非常的简单:

对于不同的加载文件类型创建不同的节点,然后添加各自的属性,最后扔到head 标签里面。

经测试,本方法兼容各浏览器,安全、无毒、环保,是 web 开发人员工作常备代码。

代码语言:javascript
复制
//动态加载css
function dynamicLoadCss(url){
    var head = document.getElementsByTagName('head')[0];
    var link = document.createElement('link');
    link.type='text/css';
    link.rel = 'stylesheet';
    link.href = url;
    head.appendChild(link);
}
//动态加载js文件
function dynamicLoadJs(url, callback){
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    if(typeof(callback)=='function'){
        script.onload = script.onreadystatechange = function () {
            if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete"){
                callback();
                script.onload = script.onreadystatechange = null;
            }
        };
    }
    head.appendChild(script);
}

上面是自己使用的函数,

封装两个函数,可以直接动态加载一些js文件或者css样式文件

基于动态加载js原理实现的 sdk代码

在开发出客服系统以后,我需要提供一个远程js文件,供别人引入。但是我要把这个过程封装一下。

下面这段是我开发的客服系统js sdk代码,可以直接粘贴这段代码到页面中,实际查看效果

代码语言:javascript
复制
<a href="javascript:KEFU.showPanel();">自定义按钮</a>
<script type='text/javascript'>
    (function(a, b, c, d) {
        let h = b.getElementsByTagName('head')[0];let s = b.createElement('script');
        s.type = 'text/javascript';s.src = c+"/static/js/kefu-front.js";s.onload = s.onreadystatechange = function () {
            if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") d(c);
        };h.appendChild(s);
    })(window, document,"https://gofly.v1kf.com",function(u){
        KEFU.init({
            KEFU_URL:u,
            KEFU_KEFU_ID: "taoshihan",
            KEFU_ENT: "5",
        })
    });
</script>

效果图是下面这样的,也可以参照这个页面,https://gofly.v1kf.com

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于动态加载js原理实现的 sdk代码
相关产品与服务
腾讯企点客服
腾讯企点客服(Tencent QiDian Customer Service)是为销售和客服提供多渠道商机转化与客户服务的智能客服平台。基于腾讯云的即时通讯、音视频、人工智能、大数据、云呼叫中心等技术,以个性化服务和精准客户洞察撬动销售转化与复购增购。企点客服全面覆盖了从销售到服务的全链路业务场景,帮助企业构建一体化的客户运营体系,极大提升了企业获客、待客、留客的效率。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档