周末遇到了top方法报错的问题
测试环境为何不会报错?经过分析,生产和测试有两点不同。
一是因为一年前有一段兼容国产终端谷歌浏览器的代码,因为某些原因测试上做了后没有投到生产,造成了测试和生产版本不一致。然后其中core.js里的这段代码阴差阳错包含了一段对前端top方法报错的兼容。当捕获到异常后会把top改为调用window方法。
二是测试环境所有系统应用都是部署在本组的应用服务器的,部署到其他组的应用服务器会导致报登录过期的问题。本组这些都笼罩在core.js的势力范围内。所以测试环境接网点通,我们组的这个core改了,其他组的不用改,不会报top方法的错误。
现在生产要解决,56.57上面的core.js加载菜单数的东西,后面的各应用还是自己处理,还会有自己的core,也会调top方法,所以各应用都要加这段兼容的代码。