以talkingData埋点js为例子,原本在html引入方式为:
<script src="https://jic.talkingdata.com/app/h5/v1?appid=<%=process.env.BURYING_POINT_APPID %>"
></script>
优化方案:
自己封装talkingData的js,把封装的工程发到自己的cdn站点,然后引用自己这个js文件,在这个js中对talkData的js的进行异步加载并且加上成功或失败判断,来返回封装对象,这样可以保证即使js加载失败也不影响流程。
代码示例:
export default (function main() {
const entryDom = document.querySelector('script[tk-collect]')
if (entryDom && entryDom.getAttribute('tk-collect')) {