企业微信通讯录组件在chrome49内核下工作不正常问题处理

企业微信替换通讯录在有部分客户计算机xp无法运行,原因xp最高支持49内核chrome浏览器,国内一大票浏览器以换皮为j技术核心,基本上xp下没有可以用的浏览器,通过研究主要原因是49以下内核浏览器不支持async,await导致

另外企业微信本身集成的chome53版本同样也不支持async,await

比如:await agentConfig(agentConfigParams) 在49下就无法运行

解决方法:

1、去掉js中的await,async,可以自动Render了,

2、 但是发现使用ajax请求数据改变时,依然不能自动Render通讯录标签,只好数据改变后手动执行如下代码

/*
 * 重新Reder通讯录绑定
 */
function renderTxlBind() {
    try {
        if (document.querySelectorAll('ww-open-data').length > 0) {
            if (window.WWOpenData != undefined) {
                WWOpenData.bindAll(document.querySelectorAll('ww-open-data'));
            }
        }

    } catch (error) {
        console.log('renderTxlBind error', error)
    }

}   

具体原因如下

 低版本的chrome应该也是因为不支持这个特性导致的。

Web Components 标准非常重要的一个特性,它使开发者能够将HTML页面的功能封装为 custom elements(自定义标签),而往常,开发者不得不写一大堆冗长、深层嵌套的标签来实现同样的页面功能。这篇文章将会介绍如何使用HTML的custom elements。

原文地址:https://www.cnblogs.com/zhaogaojian/p/13647693.html