昨天同事在现有网站上添加了接入百度商桥的代码。谁能想到简单的引入一个百度的js却出现了奇怪的现象,页面上所有的元素的click事件都被绑定了两次,最后调查下来的结论是:我们的站点使用了require.min.js来加载需要的js,它会搜索具有data-main属性的script,来加载data-main指定的js文件,同时百度商桥的js中也有require的功能,会把我们的js文件再加载一次,这样就导致同一个元素注册了两次事件处理函数。我能想到的解决方案有两个:1.修改require.min.js,不使用data-main这个属性,换成别的,比如data-entry;2.不使用data-main来加载我们的js,而是再添加一个script标签来引入该js。我们选择了后者,毕竟require.min.js是公用的东西,不想增加后来者的维护成本。
接入百度商桥遇到的问题
最新推荐文章于 2019-12-18 09:00:55 发布